-
Notifications
You must be signed in to change notification settings - Fork 45
Contributing
Adam Hooper edited this page Jul 11, 2019
·
9 revisions
Here's how to change Workbench cope:
- Talk with us! File an issue on GitHub or join us on Gitter and let's get excited about what you want to do.
- Fork this repo, as per GitHub's forking documentation:
- Click "Fork"
- Clone your fork
- Set up your development environment
-
git remote add upstream https://github.com/CJWorkbench/cjworkbench
(so you can track our master branch later)
- Create your change:
- Make sure your
master
is the same asupstream/master
:git fetch upstream
git checkout master
git pull
-
git merge --ff-only upstream/master
(orgit reset --hard upstream/master
if you wrote changes tomaster
accidentally and wish to delete them)
git checkout master
- Create a new branch:
git branch my-great-feature
- Write a test that fails (
bin/dev unittest
,bin/dev npm test
,bin/integration-test
) - Write code until the test passes
-
bin/dev reformat-code
to conform to our coding style -
bin/integration-test
to ensure you haven't broken something critical - Commit with a commit message referencing the GitHub issue
- Make sure your
- Submit a pull request:
git push origin my-great-feature
- Browse to https://github.com/CJWorkbench/cjworkbench and submit a pull request for your branch
- Iterate! We'll review your code; we may ask questions or propose changes. We may ask you to add commits to your pull request; we may also ask you to merge or rebase from our master.
Workbench's Python code follows Black conventions. Workbench won't build images (and so bin/dev integration-test
will fail) if your code isn't byte-perfect. Integrate Black with your text editor to avoid silly mistakes: for instance, you can configure your editor to run black
on a file automatically when saving.