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 set up the repository
- This project uses git hooks with the help of
lefthook. Make sure to havelefthookinstalled and runlefthook installto install the git hooks. NOTE: This step is necessary for quality assurance. - Optionally (but highly recommended) run
git config --local commit.gpgsign trueto configure your local working copy of the repository to automatically sign your work. Also add your e-mail address and public key to theallowed_signersfile, 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 uses Conventional Commits.
Make sure to follow the pattern. Release management is handled with the help
of Cocogitto. Cocogitto can be used to create
commits, too. Refer to
cog commit --helpor the official documentation if you want to learn more. Make sure to update theauthorsattribute under thechangelogtable incog.toml. - Do not push your changes directly to the
mainbranch! 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 cocogitto based on the commit messages.