• Stars
    star
    535
  • Rank 82,940 (Top 2 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 6 years ago
  • Updated almost 3 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,493
star
2

cssgridgenerator

🧮 Generate basic CSS Grid code to make dynamic layouts!
Vue
4,995
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,805
star
4

intro-to-vue

Workshop Materials for my Introduction to Vue.js Workshop
Vue
2,788
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,619
star
6

page-transitions-travelapp

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

ecommerce-netlify

🛍 A JAMstack Ecommerce Site built with Nuxt and Netlify Functions
Vue
1,539
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,402
star
9

vue-vscode-snippets

These snippets were built to supercharge my workflow in the most seamless manner possible.
JavaScript
1,317
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,213
star
11

svg-workshop

Materials for SVG Essentials & Animation Course
HTML
799
star
12

career-ladders

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

design-for-developers

Design for Developers Workshop
735
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
321
star
17

building-web-apps-with-vue

building-web-app-with-vue
Vue
300
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
213
star
20

frontendmasters-svganimation

Frontend Masters- Advanced SVG Animation Course
HTML
196
star
21

vue-weather-notifier

A small SVG animation illustrating a weather app notification in Vue
Vue
196
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
171
star
25

vue-directory-tree

A visualization of relevant files for vue repo, along with notes
JavaScript
163
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

154
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

signals-demo

⚡️ A small demo site to explain some of the cool things Signals-based reactivity does in Angular
HTML
137
star
31

inbedby7pm

My other theme was for Night Owls like myself. This theme was requested for by the "In Bed by 7pm" crowd
135
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
105
star
34

three-vue-pattern

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

gsap-player

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

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
95
star
37

recipe-box

Vue
94
star
38

netlify-functions-example

HTML
72
star
39

firefighter-demo

🚨 Demo to improve an existing firefighter app by making it queue tasks offline
HTML
68
star
40

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
67
star
41

example-azure-node

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

JAMstack-Workshop

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

docs-extensionpack

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

vue-wine-label

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

contentful-nuxt-netlify

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

favegame

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

headless-wp-nuxt2

Vue
38
star
48

sdras

it me!
29
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
21
star
50

react-aframe-demo1

React A-Frame Demo 1
JavaScript
18
star
51

data-in-motion

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

perfmatters-demo

demo for perfmatters conf https://perfmattersconf.com/
Vue
12
star
53

smashing-template

a base of the smashing talk
Vue
11
star
54

jamstack-template

HTML
11
star
55

devex-utm-builder

HTML
10
star
56

Benchmarking-Animations

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

easiest-netlify-lambda-example

JavaScript
7
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