We welcome contributions! Here's how to get started.
- Fork the repository
- Create a feature branch from
main - Make your changes
- Submit a pull request
We use Conventional Commits:
feat: add new feature
fix: resolve bug
docs: update documentation
chore: maintenance task
refactor: code improvement without behavior change
test: add or update tests
All commits must be cryptographically signed and carry a DCO sign-off: git commit -S --signoff. The require-signed-commits ruleset on the default branch enforces the signature (the "Verified" badge on GitHub); the DCO check enforces the Signed-off-by trailer — these are two different things and both are required. Quickest setup is SSH signing: register your SSH key as a signing key on your GitHub account, then git config --global gpg.format ssh && git config --global user.signingkey ~/.ssh/<key>.pub.
- Keep PRs focused — one logical change per PR
- Update documentation if you change user-facing behavior
- Ensure CI passes before requesting review
- Reference related issues (e.g.,
Closes #42)
All PRs are reviewed by automated tools (Copilot, Gemini Code Assist) and maintainers. Please address review comments or explain why you disagree.
Each repository has its own setup instructions in README.md or AGENTS.md. Check those first.
Open a discussion or issue in the relevant repository.