Contributing#
Our scaffolds are community-driven and open-source, anddesigned to save time and effort, allowing developers to focus on writing code that matters most. Your contributions are invaluable!
Environment setup#
Fork and clone the repository.
Light Environment#
If you don’t want to run the full test suite, you can just create a virtual environment based on python and install copier and pre-commit:
Optional virtualenv, depends on your develop environment
pipx install virtualenv pre-commit
virtualenv .venv
source .venv/bin/activate
pip install copier
Devcontainer Environment#
If you want to run the full testable environment, you can use the devcontainer provided in the folder .devcontainer
.
To use the devcontainer, refer to Dev Containers tutorial.
Development#
As usual:
create a new branch:
git switch -c feature-or-bugfix-name
.edit the code and/or the documentation.
run
copier copy --vcs-ref=HEAD -l . .
to generate the current repository.run
pre-commit run -a
to check if any errors can be fixed.if everything is fine, your changes are ready to commit and follow our convention based on the Commit Convention.
push your branch to your fork and create a pull request.
Pull Requests Guidelines#
Link to any related issue in the Pull Request message.
During the review, we recommend using fixups:
# SHA is the SHA of the commit you want to fix
git commit --fixup=SHA
Once all the changes are approved, you can squash your commits:
git rebase -i --autosquash master
And force-push:
git push -f
If this seems all too complicated, you can push or force-push each new commit, and we will squash them ourselves if needed, before merging.