Skip to content

Latest commit

 

History

History
78 lines (52 loc) · 2.2 KB

File metadata and controls

78 lines (52 loc) · 2.2 KB

Contributing to CommitBee

Thank you for your interest in contributing! This guide covers the process for submitting changes.

Contributor License Agreement

All contributors must sign the Contributor License Agreement before their pull request can be merged.

How it works:

  1. Open a pull request.
  2. The CLA bot will comment asking you to sign.
  3. Reply with the signature phrase indicated by the bot.
  4. The bot records your signature — you only need to sign once.

Development Setup

# 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 warnings

Requirements: Rust 1.94+ (edition 2024), Ollama for manual testing.

Before Submitting

  1. Run the full CI gate: cargo fmt --check && cargo clippy --all-targets -- -D warnings && cargo test --all-targets
  2. Add tests for new functionality
  3. Follow existing code patterns and conventions (see CLAUDE.md for details)
  4. Keep commits focused — one logical change per commit
  5. Use Conventional Commits for commit messages

Code Style

  • cargo fmt for formatting (enforced by CI)
  • cargo clippy -- -D warnings for linting (zero warnings required)
  • See the TypeScript style guide principles adapted for Rust in CLAUDE.md

REUSE Compliance

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>

Reporting Bugs

Use the bug report template. Include commitbee --version, commitbee doctor output, and commitbee --dry-run --show-prompt output when relevant.

Requesting Features

Use the feature request template.

Security Issues

See SECURITY.md — do not open public issues for vulnerabilities.