eee921a3bc
Co-authored-by: Matt Pollard <mattpollard@users.noreply.github.com> |
||
---|---|---|
.. | ||
events | ||
github-apps | ||
graphql | ||
rest | ||
webhooks | ||
README.md |
README.md
Welcome to our src directory
Our application is in Node, Express, React, & Next. We are using a "subject folder" pattern. Each folder represents a major capability of the docs.github.com. To learn more about each subject, check the README.md file in the folder.
Why subject folders
We used to organize our code more by role: client, stylesheets, server middleware, shared files, tests, etc. We found over time as the site grew it was difficult to find all the pieces that made a single feature work across the code base. Instead, we're moving to organize by subject, so its easy to find all the related code for a single capability in one place.
How to create and use subject folders
Run script/create-subject.js --name x
to create a new subject folder.
Subjects do not need every element below. Not every element needs to be a folder. A subject folder looks similar to:
src/
xsubject/
README.md
components/
lib/
tests/
scripts/
stylesheets/
pages/
docs/
We compose subjects together like TBD - still a work in progress!
How to declare a subject depends on another subject TBD - still a work in progress!
When to use subject folders
TBD - still a work in progress!
When not to use subject folders
How to deal with things that don't fit into the pattern TBD - still a work in progress!
Where to get help
TBD - still a work in progress!