# Contributing
## Commits
Follow [Conventional Commits 1.0.0](https://www.conventionalcommits.org/en/v1.0.0/):
feat: add a new capability
fix: correct a bug
docs: documentation only
refactor: no behavior change
test: tests only
chore: build, CI, deps
Breaking changes use `!` after the type or a `BREAKING CHANGE:` footer.
## Versioning
Follows [Semantic Versioning 2.0.0](https://semver.org/spec/v2.0.0.html).
- Breaking: MAJOR (or MINOR while on 0.y.z)
- Feature: MINOR
- Bug fix: PATCH
## Changelog
Follows [Keep a Changelog 1.1.0](https://keepachangelog.com/en/1.1.0/).
Every user-visible change needs an entry under `## [Unreleased]`.
## Tests
cargo test --all-targets -j 1
cargo clippy --all-targets -- -D warnings
cargo fmt --all -- --check
All three must pass before a PR is merged.