Contributing¶
Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.
Check the projects on GitHub, you might help coding a planned feature.
Bug reports or feature requests¶
First, search the GitHub issue tracker to see if your bug/feature is already there.
If nothing is found, just add a new issue and follow the instructions.
Documentation improvements¶
Nitpick could always use more documentation, whether as part of the official docs, in docstrings, or even on the web in blog posts, articles, and such.
Development¶
To set up Nitpick for local development:
Fork Nitpick (look for the “Fork” button).
Clone your fork locally:
cd ~/Code git clone git@github.com:your_name_here/nitpick.git cd nitpick
Install Poetry globally using the recommended way.
Install Invoke. You can use pipx to install it globally:
pipx install invoke
.Install dependencies and pre-commit hooks:
invoke install --hooks
Create a branch for local development:
git checkout -b name-of-your-bugfix-or-feature
Now you can make your changes locally.
When you’re done making changes, run tests and checks locally with:
# Quick tests and checks make # Or use this to simulate a full CI build with tox invoke ci-build
Commit your changes and push your branch to GitHub:
git add . # For a feature: git commit -m "feat: short description of your feature" # For a bug fix: git commit -m "fix: short description of what you fixed" git push origin name-of-your-bugfix-or-feature
Submit a pull request through the GitHub website.
Commit convention¶
Nitpick follows Conventional Commits
No need to rebase the commits in your branch. If your pull request is accepted, all your commits will be squashed into a single one, and the commit message will be adjusted to follow the current standard.
Pull Request Guidelines¶
If you need some code review or feedback while you’re developing the code, just make a draft pull request.
For merging, follow the checklist on the pull request template itself.
When running invoke test
: if you don’t have all the necessary Python versions available locally (needed by tox), you can rely on GitHub Workflows.
Tests will run for each change you add in the pull request.
It will be slower though…