• Stars
    star
    529
  • Rank 80,957 (Top 2 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 5 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐ŸŽ‹A CLI tool to create an annotated tree visualization of any project

๐ŸŽ‹ Project Explorer

Check out the site: https://sdras.github.io/project-explorer-site/

Create a tree visualization of any project with this CLI tool. When ramping people up on an existing codebase, there's often a lot of state they have to understand about the project- where everything is, where everything starts, exceptional files. With this tool, you can generate a visualization of any project, as well modify certain directories to be open, or have notes that people can read through easily.

Installation

npm i -g project-explorer

Here's an example of what we'll be generating:

demo-image

A working example of this exists here. I created this for Vue core off of notes taken at a core meeting as Evan You walked us through some of the file structure.

Prerequisites:

  • You need to be running Node 8 or higher
  • You have to have Yarn installed.

Usage:

To create the visualization in the same folder as your project:

  1. Go into the directory of a project you'd like to document, and run the first command, pexx nameofyourproject.
  2. When prompted for your path, write . or ./
  3. Magic happens! โœจ (but it takes a minute โฐ)

To create the visualization in a separate folder:

  1. Go into the directory of a project you'd like to document, and run pwd in your terminal to get the path
  2. Create a new folder to run this CLI in.
  3. Run the first command, pexx nameofyourproject.
  4. Then paste in the output of pwd as your path when the CLI prompts you for it.
  5. Magic happens! โœจ (but it takes a minute โฐ)

$ pexx nameofyourproject
> path: ./ (or whatever your pwd output is)
โ€ฃ Name of Project: nameofyourproject
โ€ฃ Path: ./
  • Replace nameofyourproject with the name you'd like to give your project
  • Files in .gitignore will be ignored in the build. We've also removed .gitignore, .git, and the base-directory-tree that this project will generate.
  • Path can either be the current directory or you can use pwd in another local directory of choice. I recommend this option as you might want these files and this documentation in another folder.

This will kick off the processes that will build the directory trees, the UI for traversing, and give you a little example to start with too :) It will even kick off the server for you.

Open directories

You can specify what directories you would like to be open when a user first visits by adding them to the opened array in base-directory-tree/src/store.

Comments

You can add comments for the different files by adding them to the comments object in base-directory-tree/src/store. You will specify it using the path as the key and the comment as the value, like this:

`READMEexample`: `This is an example of how a note is made! You can write the pathname of any file and the note will appear โ˜บ๏ธ. You can delete this now.`

Github link

You can point the github logo link to your own repo by updating the github string in base-directory-tree/src/store.

(Basically all the state you need is probably in the Vuex store. ๐Ÿ˜‰)

Contributing

Contributions are welcome! ๐Ÿค˜ Please head over to CONTRIBUTING.md for more information.

๐Ÿฅ‚ Thanks for using this project! I hope it's helpful. If you see ways to improve it, PRs are welcome.

Twitter: sarah_edo

More Repositories

1

awesome-actions

A curated list of awesome actions to use on GitHub
24,015
star
2

cssgridgenerator

๐Ÿงฎ Generate basic CSS Grid code to make dynamic layouts!
Vue
4,968
star
3

night-owl-vscode-theme

๐ŸŒŒ NIGHT OWL: A VS Code dark theme for contrast for nighttime coding, ๐Ÿฆ‰ LIGHT OWL: a daytime light theme
2,790
star
4

intro-to-vue

Workshop Materials for my Introduction to Vue.js Workshop
Vue
2,786
star
5

array-explorer

โšก๏ธ A resource to help figure out what JavaScript array method would be best to use at any given time
JavaScript
2,615
star
6

page-transitions-travelapp

Travel App, Native-like Page Transitions
Vue
1,711
star
7

ecommerce-netlify

๐Ÿ› A JAMstack Ecommerce Site built with Nuxt and Netlify Functions
Vue
1,532
star
8

object-explorer

๐Ÿ”ฅ A resource to help figure out what JavaScript object method would be best to use at any given time
JavaScript
1,400
star
9

vue-vscode-snippets

These snippets were built to supercharge my workflow in the most seamless manner possible.
JavaScript
1,314
star
10

sample-vue-shop

See readme for newer repo details! A sample shop that shows how to manage payments with Vue, Stripe, and Serverless Functions
Vue
1,211
star
11

svg-workshop

Materials for SVG Essentials & Animation Course
HTML
790
star
12

career-ladders

A sample of career ladders I use for my organization, open sourced for anyone.
Vue
787
star
13

design-for-developers

Design for Developers Workshop
726
star
14

hero-generator

๐Ÿฆธ๐Ÿปโ€โ™€๏ธHero Generator! Create a nice hero image for your site or app
Vue
643
star
15

vue-sample-svg-icons

An opinionated example of how to use SVG icons in a Vue.js application
Vue
522
star
16

js-explorer

Find the method you need without digging through the docs, directly on the command line!
JavaScript
317
star
17

building-web-apps-with-vue

building-web-app-with-vue
Vue
301
star
18

vue-vscode-extensionpack

The extensions I use when developing a Vue application with VS Code
273
star
19

JS-stroll

Rewriting code from other languages or other technologies into Vanilla JS and SVG for fun and practice.
JavaScript
211
star
20

frontendmasters-svganimation

Frontend Masters- Advanced SVG Animation Course
HTML
195
star
21

vue-weather-notifier

A small SVG animation illustrating a weather app notification in Vue
Vue
195
star
22

vue-hooks-foodapp

A food app using a few hooks in Vue to show how they can work (experimental)
Vue
180
star
23

productive-twitter

Chrome extension: Minimal and friendly theme for productive twitter use
CSS
179
star
24

fortnite-vscode-theme

JavaScript
170
star
25

vue-directory-tree

A visualization of relevant files for vue repo, along with notes
JavaScript
162
star
26

page-transitions-simple

Vue/Nuxt Page Transitions- Simple Demonstration
Vue
158
star
27

sample-stripe-handler

Serverless function that uses the stripe api for a checkout process in a Vue application
JavaScript
157
star
28

animated-guide-vue3

151
star
29

vue-sublime-snippets

Simplify and supercharging my workflow with snippets for Vue.js that help me spin things up quickly
142
star
30

inbedby7pm

My other theme was for Night Owls like myself. This theme was requested for by the "In Bed by 7pm" crowd
136
star
31

signals-demo

โšก๏ธ A small demo site to explain some of the cool things Signals-based reactivity does in Angular
HTML
134
star
32

is-this-a-sandwich

Is this a sandwich?
Vue
105
star
33

cda-locale

Showing Microsoft Cloud Developer Advocates speaking, 2017 and 2018
JavaScript
104
star
34

three-vue-pattern

A biofeedback visualization made with Three.js, Vue, and LUIS (cognitive services), made with Brian Holt
Vue
101
star
35

gsap-player

A small, customizable youtube-like player for gsap timelines
JavaScript
98
star
36

recipe-box

Vue
94
star
37

livecode-svganimation

In my Smashing Toronto talk, I'll be live coding an SVG animation from start to finish. Here's the repo that houses the base materials, and any further references for things we don't have time to cover.
JavaScript
94
star
38

netlify-functions-example

HTML
72
star
39

smashing

This was the result of a live code talk at Smashing Conf in Toronto, this is how far I got in 45 minutes
Vue
68
star
40

firefighter-demo

๐Ÿšจ Demo to improve an existing firefighter app by making it queue tasks offline
HTML
68
star
41

example-azure-node

An example Node webapp deployed with GitHub actions
Shell
66
star
42

JAMstack-Workshop

Workshop materials for JAMstack workshop using Vue and Netlify.
Vue
64
star
43

vue-wine-label

A very silly demo showing how to make a wine label making dashboard with Vue.js
JavaScript
56
star
44

docs-extensionpack

A collection of extensions for writing, editing, and reviewing documentation in VS Code
56
star
45

contentful-nuxt-netlify

Example setup for Contentful and Nuxt on Netlify
Vue
48
star
46

favegame

Small starter example of Hasura, Nuxt, and Netlify for Jamstack/SSR rendering
Vue
44
star
47

headless-wp-nuxt2

Vue
38
star
48

sdras

it me!
28
star
49

d3-example-ignitetour

This repo serves as an example for Microsoft Ignite the Tour. In this session, we explore how to create basic charts and graphs using d3.
JavaScript
20
star
50

react-aframe-demo1

React A-Frame Demo 1
JavaScript
17
star
51

data-in-motion

My talk about the importance of animation in data visualizations
JavaScript
15
star
52

smashing-template

a base of the smashing talk
Vue
11
star
53

perfmatters-demo

demo for perfmatters conf https://perfmattersconf.com/
Vue
11
star
54

jamstack-template

HTML
10
star
55

devex-utm-builder

HTML
8
star
56

Benchmarking-Animations

Writing the same simple animation in a loop in SMIL, Canvas, CSS, and Velocity for benchmarking purposes.
CSS
7
star
57

easiest-netlify-lambda-example

JavaScript
6
star
58

gcp-ng-alt

TypeScript
6
star
59

Transform_intro

Introduction to Transforms, with the use of a transition in a class applied to all examples
5
star