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.
- First, search the GitHub issue tracker to see if your bug/feature is already there.
- If nothing is found, just :issue:`add a new issue and follow the instructions <new/choose>`.
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.
To set up Nitpick_ for local development:
Fork Nitpick_ (look for the "Fork" button).
Clone your fork locally:
cd ~/Code git clone [email protected]: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.
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.
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...