Contributing to boa#
First make sure you have read Installing and Test Run to get your development environment set up
When in question about rst, see references under docs/references in the source code.
Setup pre-commit#
We use pre-commit to automatically manage linting on every commit. To set it up, run in your boa development environment:
pre-commit install
This should now run all of our linting (the same as invoke style below) on every commit so you don’t accidentally commit code that will fail the CI only because of linting.
Format the code and lint it (check the style)#
Run invoke style to format the code and lint it.
Test your changes#
Run invoke pytest to run the tests.
Ensure your tests past, and add tests for the new code you add.
Build the docs locally#
Run invoke docs to test building the docs.
Ensure your new changes are documented.
Commit your changes#
Example:
git commit -m fix(package): update setup.py arguments 🎉
(emojis are fine too)
or a longer commit message:
git commit
package: fix things with stuff
More commit message things
and more
You can temporarily bypass pre-commit (The CI jobs on github will still run) if you have something you are in the middle of by add –no-verify to your git command:
git commit --no-verify ...
Push your changes to your fork#
Run git push origin my_contribution
Submit a pull request#
On github interface, click on Pull Request button.
Wait for CI to run and one of the developers will review your PR.