Skip to content

Commit b9b135f

Browse files
committed
docs: update dependencies and improve documentation in PRD and CLAUDE
1 parent a6dec98 commit b9b135f

4 files changed

Lines changed: 70 additions & 66 deletions

File tree

CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,7 @@ git add some-file.rs
194194
### Known Issues
195195

196196
- **No streaming during split generation**: When commit splitting generates per-group messages, LLM output is not streamed to the terminal (tokens are consumed silently). Single-commit generation streams normally. Low priority — split generation is fast since each sub-prompt is smaller.
197+
- **Thinking model output**: Models with thinking enabled (e.g. `qwen3:4b` default) prepend `<think>...</think>` blocks that can break sanitizer parsing. The `hopephoto/Qwen3-4B-Instruct-2507_q8` variant does not exhibit this. Fix needed: strip thinking blocks in sanitizer pre-processing and/or pass `think: false` in Ollama API options.
197198

198199
### Markdown Conventions
199200

Cargo.lock

Lines changed: 30 additions & 30 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,13 @@ description = "AI-powered commit message generator using tree-sitter semantic an
1111
license = "PolyForm-Noncommercial-1.0.0"
1212
repository = "https://github.com/Sephyi/commitbee"
1313
readme = "README.md"
14-
keywords = ["git", "commit-message", "conventional-commits", "tree-sitter", "llm"]
14+
keywords = [
15+
"git",
16+
"commit-message",
17+
"conventional-commits",
18+
"tree-sitter",
19+
"llm",
20+
]
1521
categories = ["development-tools", "command-line-utilities"]
1622
exclude = [".github/", "tests/snapshots/"]
1723

@@ -21,7 +27,13 @@ clap = { version = "4.5", features = ["derive", "env"] }
2127
clap_complete = "4.5"
2228

2329
# Async runtime
24-
tokio = { version = "1.43", features = ["rt-multi-thread", "macros", "signal", "sync", "process"] }
30+
tokio = { version = "1.43", features = [
31+
"rt-multi-thread",
32+
"macros",
33+
"signal",
34+
"sync",
35+
"process",
36+
] }
2537
tokio-stream = "0.1"
2638
tokio-util = "0.7"
2739

PRD.md

Lines changed: 25 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@ SPDX-License-Identifier: PolyForm-Noncommercial-1.0.0
66

77
# CommitBee — Product Requirements Document
88

9-
**Version**: 2.2
10-
**Date**: 2026-02-18
11-
**Status**: Draft — pending approval
12-
**Author**: Sephyi + Claude investigation team
9+
**Version**: 2.3
10+
**Date**: 2026-02-22
11+
**Status**: Active
12+
**Author**: Sephyi + Claude
13+
14+
**Revision 2.3**: Version alignment (2026-02-22) — v0.2.0 shipped containing all Phase 1 (stability) and Phase 2 (polish/providers) features. Roadmap renumbered: Phase 3 (differentiation) is now v0.3.0, Phase 4 (market leadership) is now v0.4.0+.
1315

1416
**Revision 2.2**: Implementation status update + commit splitting (2026-02-18) — added FR-023 (commit splitting), FR-024 (commit history style learning, experimental), updated competitive matrix and roadmap to reflect v0.3.0 features already implemented (OpenAI, Anthropic, hooks, multi-generate, completions, figment config, miette, tracing, single-pass diff, async git, keyring, 118 tests). Updated architecture with `splitter.rs`.
1517

@@ -32,8 +34,8 @@ CommitBee is a Rust-native CLI tool that uses tree-sitter semantic analysis and
3234

3335
### Compatibility Policy
3436

35-
- **v0.2.0** is a stability release: config format preserved, no breaking CLI changes.
36-
- **v0.3.0+** may introduce breaking changes (new config system via figment, CLI subcommand restructuring). Migration documentation will accompany any breaking release.
37+
- **v0.2.0** shipped with all Phase 1 (stability) and Phase 2 (polish/providers) features. Config format preserved, no breaking CLI changes.
38+
- **v0.3.0** (next release) is the differentiation release. May introduce breaking changes. Migration documentation will accompany any breaking release.
3739

3840
## 2. Competitive Landscape
3941

@@ -204,7 +206,7 @@ pub struct App {
204206

205207
## 4. Feature Requirements
206208

207-
### 4.1 P0 — Critical (v0.2.0: Stability & Correctness)
209+
### 4.1 P0 — Shipped (v0.2.0: Stability & Correctness)
208210

209211
These are bugs, panics, and missing foundations that must be fixed before any new features.
210212

@@ -249,7 +251,7 @@ These are bugs, panics, and missing foundations that must be fixed before any ne
249251
- **What**: `VALID_TYPES: &[&str]` in sanitizer and `CommitType` enum can desync.
250252
- **Acceptance**: `CommitType` provides `const ALL: &[&str]` used by both the sanitizer and any validation logic. No separate string list.
251253

252-
### 4.2 P1 — High Priority (v0.3.0: Polish & Providers)
254+
### 4.2 P1 — Shipped (v0.2.0: Polish & Providers)
253255

254256
#### FR-010: Rich Diagnostic Errors (miette)
255257

@@ -376,7 +378,7 @@ These are bugs, panics, and missing foundations that must be fixed before any ne
376378
- **Rationale**: GitHub Copilot does this implicitly. Making it explicit and configurable would be a differentiator. However, blindly mimicking a repository's history could produce non-compliant messages if the history is inconsistent.
377379
- **Acceptance**: Feature-gated behind `--experimental-history` or a config flag. Samples last N commits, extracts patterns, injects as additional context in the LLM prompt. Does not override conventional commits structure — only influences scope naming and subject phrasing style.
378380

379-
### 4.3 P2 — Medium Priority (v0.4.0: Differentiation)
381+
### 4.3 P2 — Next (v0.3.0: Differentiation)
380382

381383
#### FR-030: Custom Prompt Templates
382384

@@ -454,7 +456,7 @@ These are bugs, panics, and missing foundations that must be fixed before any ne
454456

455457
**Note**: FR-039 should be prioritized early in v0.3.0 development, as config validation underpins reliable behavior for all other P1 features.
456458

457-
### 4.4 P3 — Future (v1.0+: Market Leadership)
459+
### 4.4 P3 — Future (v0.4.0+: Market Leadership)
458460

459461
#### FR-050: MCP Server Mode
460462

@@ -853,24 +855,17 @@ opt-level = "z" # or "s" — benchmark both
853855

854856
## 11. Phased Roadmap
855857

856-
### Phase 1: Stability (v0.2.0)
857-
858-
**Goal**: Fix all critical bugs, add tests, clean up dependencies.
859-
860-
- FR-001: Fix UTF-8 panics
861-
- FR-002: Include symbols in prompt (with fallback ladder)
862-
- FR-003: Unit test suite (including golden semantic fixtures)
863-
- FR-004: Remove unused dependencies
864-
- FR-005: Fix dead code
865-
- FR-006: Reduce tokio features
866-
- FR-007: CommitType single source of truth
867-
- TR-005: CI pipeline
868-
869-
### Phase 2: Polish (v0.3.0)
858+
### Phase 1: Shipped (v0.2.0)
870859

871-
**Goal**: Rich errors, cloud providers, git hooks, developer experience.
860+
**Goal**: Stability, correctness, rich providers, developer experience. All features below shipped in v0.2.0.
872861

873-
- FR-039: Config validation & doctor command ✅
862+
- FR-001: Fix UTF-8 panics ✅
863+
- FR-002: Include symbols in prompt (with fallback ladder) ✅
864+
- FR-003: Unit test suite (118 tests) ✅
865+
- FR-004: Remove unused dependencies ✅
866+
- FR-005: Fix dead code ✅
867+
- FR-006: Reduce tokio features ✅
868+
- FR-007: CommitType single source of truth ✅
874869
- FR-010: miette diagnostics ✅
875870
- FR-011: OpenAI-compatible provider (with streaming) ✅
876871
- FR-012: Anthropic provider (with streaming) ✅
@@ -885,8 +880,10 @@ opt-level = "z" # or "s" — benchmark both
885880
- FR-021: Single-pass diff parsing ✅
886881
- FR-022: Integration test suite ✅ (118 tests)
887882
- FR-023: Commit splitting ✅
883+
- FR-039: Config validation & doctor command ✅
884+
- TR-005: CI pipeline ✅
888885

889-
### Phase 3: Differentiation (v0.4.0)
886+
### Phase 2: Differentiation (v0.3.0)
890887

891888
**Goal**: Features that set commitbee apart from competitors.
892889

@@ -902,7 +899,7 @@ opt-level = "z" # or "s" — benchmark both
902899
- TR-006: Evaluation harness
903900
- TR-007: Fuzzing targets
904901

905-
### Phase 4: Market Leadership (v1.0+)
902+
### Phase 3: Market Leadership (v0.4.0+)
906903

907904
**Goal**: Features that make commitbee the definitive tool in the category.
908905

@@ -965,9 +962,3 @@ This PRD was informed by:
965962
1. **Codebase analysis** — Line-by-line review of all 2,422 lines across 17 source files
966963
2. **Competitor analysis** — 30+ tools across TypeScript, Rust, Python, Go reviewed
967964
3. **Best practices research** — State-of-the-art Rust CLI patterns, LLM prompt engineering, tree-sitter techniques, security practices, testing strategies, distribution approaches
968-
969-
Full research reports:
970-
971-
- `/tmp/commitbee-codebase-analysis.md`
972-
- `/tmp/commitbee-competitor-analysis.md`
973-
- `/tmp/commitbee-best-practices.md`

0 commit comments

Comments
 (0)