When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.
- Before you start your work, make sure to setup the repository
- This project uses git hooks with the help of
lefthook
. Make sure to havelefthook
installed and runlefthook install
to install the git hooks. NOTE: This step is necessary for quality assurance. - Optionally (but highly recommended) run
git config --local commit.gpgsign true
to configure your local working copy of the repository to automatically sign your work. Also add your e-mail address and public key to theallowed_signers
file so others can confirm your work locally. See also Commit Signing for more information. In order to locally check signed commits rungit config --local gpg.ssh.allowedSignersFile ./allowed_signers
.
- This project uses git hooks with the help of
- This repository is Commitizen friendly
- When you're done with your work and want to commit it either commit it
the usual way with
git commit
or usecz commit
. - If you've followed the first step and installed
lefthook
, thenlefthook
will run all configured hooks. These will lint your commit message to make sure it follows the Conventional Commits scheme. You can use Commitizen to assure this. Also it will run other hooks to ensure consistent code style to catch problems with static code analysis.
- When you're done with your work and want to commit it either commit it
the usual way with
- Do not push your changes directly to the
main
branch! Create a pull request instead. After a code review by the project maintainer it will be considered for contribution. - Release and versioning are handled by the maintainer as well.
To make sure a commit is actually done by you and no one is impersonating you,
git
supports signing your work. This can be done either by using a gpg
or
ssh
key. GitHub can verify a commit was actually made by you. The GitHub Docs about Signing Commits
and this blog post by Git Tower about Setting Up SSH for Commit Signing
explain how to create a signing key and configure git
to use this key for
commit signing. Both articles tell you how to add the public key to GitHub so
GitHub can approve your work.
This project uses the SemVer versioning scheme. A
version number will be calculated by commitizen
based on the commit messages.
In order to bump the project's version run cz bump --no-verify --retry
. This
will also update the CHANGELOG.md
.