Skip to content

Releases: Sephyi/commitbee

v0.3.1 — Trust, but Verify

09 Mar 18:33
v0.3.1
3846c10

Choose a tag to compare

Stage your changes and run. CommitBee handles the rest — no configuration needed.

Defaults to Ollama with qwen3.5:4b out of the box.

What's New

  • Multi-pass corrective retry — Validator checks LLM output against 7 rules and retries up to 3 times with targeted correction instructions
  • Subject length enforcement — Rejects subjects exceeding 72-char first line with a clear error instead of silent truncation
  • Stronger prompt budget — Character limit embedded directly in JSON template, "HARD LIMIT" phrasing for better small-model compliance
  • Default model: qwen3.5:4b — Smaller (3.4GB), no thinking overhead, clean JSON output out of the box
  • Configurable thinking modethink config option for Ollama models that support reasoning separation
  • 182 tests — Up from 178 in v0.3.0

Install

cargo install commitbee

Getting Started

Stage your changes, then:

commitbee           # Interactive — review and confirm
commitbee --yes     # Auto-commit without prompting
commitbee --dry-run # Preview message only

Full Changelog

v0.3.0...v0.3.1

v0.3.0 — Read Between the Lines

08 Mar 03:02
v0.3.0
176a4c7

Choose a tag to compare

Stage your changes and run. CommitBee handles the rest — no configuration needed.

Defaults to Ollama with qwen3:4b out of the box.

What's New

  • Diff-shape fingerprinting + Jaccard clustering — Files grouped by change shape and vocabulary overlap, not just directory proximity
  • Evidence-based type inference — Constraint rules drive commit type: bug evidence → fix, mechanical → style, dependency-only → chore
  • Post-generation validation — 6 deterministic rules catch LLM hallucinations and retry with corrections
  • Metadata-aware breaking detection — Detects MSRV bumps, engines.node, requires-python changes as breaking
  • Symbol tri-state tracking — Added, removed, and modified-signature differentiation in semantic analysis
  • Primary change detection — Subjects anchored to the most significant change in multi-file commits
  • Hardened sanitizer — Handles <think> blocks, conversational preambles, noisy JSON from any model
  • NUL-delimited git parsing — Safe handling of paths with special characters
  • Parallel tree-sitter parsing — rayon for CPU-bound work, tokio JoinSet for concurrent git fetching
  • Anti-hallucination prompt engineering — EVIDENCE/CONSTRAINTS sections and negative examples
  • 178 tests — Up from 118 in v0.2.0

Install

cargo install commitbee

Getting Started

Stage your changes, then:

commitbee           # Interactive — review and confirm
commitbee --yes     # Auto-commit without prompting
commitbee --dry-run # Preview message only

Full Changelog

v0.2.0...v0.3.0

v0.2.0 — Commit, Don't Think

21 Feb 19:15
v0.2.0
a6dec98

Choose a tag to compare

Stage your changes and run. CommitBee handles the rest — no configuration needed.

Defaults to Ollama with qwen3:4b out of the box.

What's New

  • Commit splitting — Detects multi-concern staged changes and offers to split them into focused, well-typed commits
  • Body line wrapping — Automatically wraps commit body at 72 characters, keeping messages git-standard compliant
  • --no-scope — Skip scope inference per-run or disable permanently via config
  • --no-split — Suppress split suggestions when you want a single commit regardless
  • Configurable provider base URLs — Point OpenAI, Anthropic, or Ollama at custom endpoints (proxies, self-hosted instances)
  • 118 tests — Coverage across sanitizer, splitter, context builder, safety scanner, and LLM provider integration (via wiremock)

Install

cargo install commitbee

Getting Started

Stage your changes, then:

commitbee           # Interactive — review and confirm
commitbee --yes     # Auto-commit without prompting
commitbee --dry-run # Preview message only

To use the recommended reference model:

ollama pull hopephoto/Qwen3-4B-Instruct-2507_q8:latest

Then add to your config (commitbee init to create one):

model = "hopephoto/Qwen3-4B-Instruct-2507_q8:latest"

Full Changelog

v0.1.0...v0.2.0

v0.1.0 — Name Reservation

21 Feb 19:14
v0.1.0
fadf648

Choose a tag to compare

Initial crates.io name reservation. No functional features — see v0.2.0 for the first usable release.