Thank you for your interest in contributing! This guide covers the process for submitting changes.
All contributors must sign the Contributor License Agreement before their pull request can be merged.
How it works:
- Open a pull request.
- The CLA bot will comment asking you to sign.
- Reply with the signature phrase indicated by the bot.
- The bot records your signature — you only need to sign once.
# Clone and build
git clone https://github.com/sephyi/commitbee.git
cd commitbee
cargo build
# Run tests
cargo test --all-targets
# Run with eval harness
cargo test --all-targets --features eval
# Lint
cargo fmt --check && cargo clippy --all-targets -- -D warningsRequirements: Rust 1.94+ (edition 2024), Ollama for manual testing.
- Run the full CI gate:
cargo fmt --check && cargo clippy --all-targets -- -D warnings && cargo test --all-targets - Add tests for new functionality
- Follow existing code patterns and conventions (see CLAUDE.md for details)
- Keep commits focused — one logical change per commit
- Use Conventional Commits for commit messages
cargo fmtfor formatting (enforced by CI)cargo clippy -- -D warningsfor linting (zero warnings required)- See the TypeScript style guide principles adapted for Rust in CLAUDE.md
All files must have SPDX headers. Use:
reuse annotate --copyright "Sephyi <me@sephy.io>" --license "AGPL-3.0-only OR LicenseRef-Commercial" --year 2026 <file>Use the bug report template.
Include commitbee --version, commitbee doctor output, and
commitbee --dry-run --show-prompt output when relevant.
Use the feature request template.
See SECURITY.md — do not open public issues for vulnerabilities.