Thanks for being willing to contribute!
Working on your first Pull Request? You can learn how from this free series How to Contribute to an Open Source Project on GitHub
It is recommended you use yarn
rather than npm
. But if you'd
rather stick with npm
, simply replace yarn
in the commands below with npm
.
- Fork and clone the repo
- Run
yarn run setup
to verify your system and install dependencies - Create a branch for your PR
You can run yarn run
to see what scripts are available.
This project follows the all contributors specification. To add yourself to the table of contributors on the README.md, please use the automated script as part of your PR:
npm run add-contributor
Follow the prompt. If you've already added yourself to the list and are making a new type of contribution, you can run it again and select the added contribution type.
This project uses split-guide
to make maintaining the exercises
and
exercises-final
files easier. The exercises
and exercise-final
folders are actually generated code via the
generate
script. So any changes you make should go in a templates
directory. When you've made your changes,
please run yarn run split
to regenerate the exercises and commit those changes as part of your pull request.
Learn more about
split-guide
and contributing to this project with this video
The best workflow for adding/changing tests is to run yarn run dev
which will fire up onchange
for
split-guide
and the exercises-final
tests in watch mode (learn more). With this going, you can open up
the relevant files in the templates
directory and start making changes. When you save your changes, the files will
be generated and the exercises-final
tests will be re-run.
There are definitely more features we could add tests for, and you can also add tests to existing features. You can put
these at the bottom in the "Extra Credit" section with test.skip
. This way people who work through the solutions
quickly can have something to solidify their learning further while others finish the core content. Please follow the
instructions above when contributing. Thanks for your help!
There are a bunch of quizzes in the quizzes folder. It'd be awesome to get more of these! I recorded
a video showing how it works. Pretty much just open the quizzes
directory and follow
the current conventions there! For development, just run yarn run quiz
and start developing and seeing the output!
There are git hooks set up with this project that are automatically installed when you install dependencies. They're
really handy, but are turned off by default (so as to not hinder new contributors). You can opt into these by creating
a file called .opt-in
at the root of the project and putting this inside:
precommit