diff --git a/.agent.md b/.agent.md index f7ed3bd..8750f45 100644 --- a/.agent.md +++ b/.agent.md @@ -8,7 +8,7 @@ Before creating any release PR, verify ALL of the following are updated: - [ ] `Cargo.toml` — version bump - [ ] All target issues merged to `develop` -- [ ] `cargo test` — all 523+ tests pass +- [ ] `cargo test` — all 567+ tests pass - [ ] `cargo clippy --all-targets -- -D warnings` — clean - [ ] `cargo fmt --all -- --check` — clean - [ ] `cargo build --release` — no errors diff --git a/AGENT.md b/AGENT.md index 6d0136e..b3faf12 100644 --- a/AGENT.md +++ b/AGENT.md @@ -17,7 +17,7 @@ no managed API, no cloud service. Runs locally against diffs, scans, or branches ```bash cargo build # Build (debug) cargo build --release # Build (release) -cargo test # Run all 523 tests +cargo test # Run all 567 tests cargo clippy --all-targets -- -D warnings # Lint (strict) cargo fmt --all -- --check # Format check ``` @@ -35,6 +35,12 @@ src/ │ ├── scan.rs # cora scan (full-file scan) │ ├── debt.rs # cora debt (tech debt report) │ ├── commit_cmd.rs # cora commit (review + commit message + commit) +├── index/ # Symbol index (v0.6 — Code Intelligence) +│ ├── mod.rs # Index engine (open, index_project, search) +│ ├── schema.rs # SQLite schema + FTS5 +│ ├── symbols.rs # SymbolKind, SymbolQuery, SearchResult +│ ├── extract.rs # Per-language definition + call extraction +│ └── graph.rs # Call graph (callers, impact, affected) │ ├── config_cmd.rs # cora config (show/set/validate) │ ├── auth.rs # cora auth (API key management) │ ├── hook_cmd.rs # cora hook (pre-commit hook install/uninstall) @@ -102,7 +108,7 @@ src/ ## Testing ```bash -cargo test # 523 tests total +cargo test # 567 tests total # 484 unit tests # 16 CLI integration tests # 6 config tests @@ -234,7 +240,7 @@ Missing any = release blocker. ### 1. Code - [ ] All target issues merged to `develop` -- [ ] `cargo test` — all 523+ tests pass +- [ ] `cargo test` — all 567+ tests pass - [ ] `cargo clippy --all-targets -- -D warnings` — clean - [ ] `cargo fmt --all -- --check` — clean - [ ] `cargo build --release` — no errors diff --git a/CHANGELOG.md b/CHANGELOG.md index 18c02ee..7b23e2e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,10 +7,59 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -### Added +## [0.6.0] - 2026-06-14 + +### Added — Code Intelligence + +- **`cora index`** — persistent SQLite symbol index with FTS5 (#264) + - Regex-based definition extraction for 13 languages + - Incremental reindex via SHA-256 file fingerprints + - `--stats`, `--prune`, `--rebuild`, `--watch` flags + - Database: `.cora/index.db` + +- **`cora explore`** — search the symbol index (#265) + - FTS5 full-text search with bm25 ranking + - Filter by `--kind`, `--file`, `--language` + - JSON output mode + +- **`cora callers` / `cora impact`** — call graph analysis (#266) + - Reverse call graph traversal (who calls this?) + - Forward impact analysis (what breaks if changed?) + - Depth-limited traversal + +- **`cora affected`** — test file selection (#267) + - Find tests affected by source changes + - Call graph + naming convention strategies + - stdin support for `git diff --name-only | cora affected --stdin` + +- **Language expansion** — 6 → 13 languages (#268) + - Ruby, PHP, Swift, Scala, Lua, Zig + +- **`cora index --watch`** — auto-sync file watcher (#269) + - Poll-based incremental reindex (2s interval) + - No extra dependencies + +### Added — MCP Server (14 tools) + +- **Phase 1: Code Intelligence** (#284) — 5 new MCP tools: + `cora.search_symbols`, `cora.find_callers`, `cora.find_impact`, `cora.find_affected_tests`, `cora.index_status` + +- **Phase 2: Review Pipeline** (#285) — 2 new MCP tools: + `cora.review_diff`, `cora.get_debt` + +- **Phase 3: Context Enrichment** (#286) — 2 new MCP tools: + `cora.get_project_info`, `cora.get_memory` + +### Added — Cross-Product Bundle + +- **Cora + Uteke bundle installer** (#235) + - `install-bundle.sh` — single command installs both tools + - Cross-referencing documentation across all docs + +### Fixed -- **Cora + Uteke bundle installer** (`install-bundle.sh`) — single command installs both tools (#235) -- **Documentation** — Uteke memory integration docs across README, usage, getting-started, cli-reference +- **Uteke recall flag** — `--format json` → `--json` (uteke v0.0.13+ API) (#259) +- **Uteke v0.1.0 empty results parser** — handle both bare `[]` and wrapped `{"results":[]}` ## [0.5.1] - 2026-06-13 diff --git a/Cargo.lock b/Cargo.lock index b3de1b7..f1b00de 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -275,7 +275,7 @@ dependencies = [ [[package]] name = "cora-cli" -version = "0.5.1" +version = "0.6.0" dependencies = [ "anyhow", "assert_cmd", diff --git a/Cargo.toml b/Cargo.toml index 2288966..fb3c6e9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cora-cli" -version = "0.5.1" +version = "0.6.0" edition = "2024" description = "CLI-first AI code review — BYOK, diff/scan/branch, pre-commit hooks" license = "MIT" diff --git a/README.md b/README.md index 01dad0a..68f7d0d 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ curl -fsSL https://raw.githubusercontent.com/codecoradev/cora-cli/main/install.s curl -fsSL https://raw.githubusercontent.com/codecoradev/cora-cli/main/install-bundle.sh | sh ``` -> Pin a version: `CORA_VERSION=v0.5.1 curl -fsSL ... | sh` +> Pin a version: `CORA_VERSION=v0.6.0 curl -fsSL ... | sh` > Or: `cargo install --git https://github.com/codecoradev/cora-cli` > Pre-built binaries: [GitHub Releases](https://github.com/codecoradev/cora-cli/releases) diff --git a/docs/changelog.md b/docs/changelog.md index 18c02ee..7b23e2e 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -7,10 +7,59 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -### Added +## [0.6.0] - 2026-06-14 + +### Added — Code Intelligence + +- **`cora index`** — persistent SQLite symbol index with FTS5 (#264) + - Regex-based definition extraction for 13 languages + - Incremental reindex via SHA-256 file fingerprints + - `--stats`, `--prune`, `--rebuild`, `--watch` flags + - Database: `.cora/index.db` + +- **`cora explore`** — search the symbol index (#265) + - FTS5 full-text search with bm25 ranking + - Filter by `--kind`, `--file`, `--language` + - JSON output mode + +- **`cora callers` / `cora impact`** — call graph analysis (#266) + - Reverse call graph traversal (who calls this?) + - Forward impact analysis (what breaks if changed?) + - Depth-limited traversal + +- **`cora affected`** — test file selection (#267) + - Find tests affected by source changes + - Call graph + naming convention strategies + - stdin support for `git diff --name-only | cora affected --stdin` + +- **Language expansion** — 6 → 13 languages (#268) + - Ruby, PHP, Swift, Scala, Lua, Zig + +- **`cora index --watch`** — auto-sync file watcher (#269) + - Poll-based incremental reindex (2s interval) + - No extra dependencies + +### Added — MCP Server (14 tools) + +- **Phase 1: Code Intelligence** (#284) — 5 new MCP tools: + `cora.search_symbols`, `cora.find_callers`, `cora.find_impact`, `cora.find_affected_tests`, `cora.index_status` + +- **Phase 2: Review Pipeline** (#285) — 2 new MCP tools: + `cora.review_diff`, `cora.get_debt` + +- **Phase 3: Context Enrichment** (#286) — 2 new MCP tools: + `cora.get_project_info`, `cora.get_memory` + +### Added — Cross-Product Bundle + +- **Cora + Uteke bundle installer** (#235) + - `install-bundle.sh` — single command installs both tools + - Cross-referencing documentation across all docs + +### Fixed -- **Cora + Uteke bundle installer** (`install-bundle.sh`) — single command installs both tools (#235) -- **Documentation** — Uteke memory integration docs across README, usage, getting-started, cli-reference +- **Uteke recall flag** — `--format json` → `--json` (uteke v0.0.13+ API) (#259) +- **Uteke v0.1.0 empty results parser** — handle both bare `[]` and wrapped `{"results":[]}` ## [0.5.1] - 2026-06-13 diff --git a/docs/installation.md b/docs/installation.md index 6690a19..99b4ec0 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -21,7 +21,7 @@ echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc Pin a specific version: ```bash -$ CORA_VERSION=v0.5.1 curl -fsSL https://raw.githubusercontent.com/codecoradev/cora-cli/main/install.sh | sh +$ CORA_VERSION=v0.6.0 curl -fsSL https://raw.githubusercontent.com/codecoradev/cora-cli/main/install.sh | sh ``` ## Install via Cargo diff --git a/docs/roadmap.md b/docs/roadmap.md index 9c96249..0dc96c1 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -79,25 +79,28 @@ Demand-gated — we build what people actually need. Track progress on [GitHub I The foundation layer for structural code understanding — persistent symbol index, semantic search, and deep Uteke integration. -- [#264](https://github.com/codecoradev/cora-cli/issues/264) `cora index` — Symbol index & SQLite persistence — ◎ Planned -- [#265](https://github.com/codecoradev/cora-cli/issues/265) `cora explore` — Structural + semantic code search — ◎ Planned -- [#235](https://github.com/codecoradev/cora-cli/issues/235) Cora + Uteke cross-product integration bundle — ◎ Planned +- [#264](https://github.com/codecoradev/cora-cli/issues/264) `cora index` — Symbol index & SQLite persistence — ✓ Done +- [#265](https://github.com/codecoradev/cora-cli/issues/265) `cora explore` — Structural + semantic code search — ✓ Done +- [#235](https://github.com/codecoradev/cora-cli/issues/235) Cora + Uteke cross-product integration bundle — ✓ Done +- [#284](https://github.com/codecoradev/cora-cli/issues/284) MCP Phase 1 — Code Intelligence tools (5 tools) — ✓ Done +- [#285](https://github.com/codecoradev/cora-cli/issues/285) MCP Phase 2 — Review + Debt tools (2 tools) — ✓ Done +- [#286](https://github.com/codecoradev/cora-cli/issues/286) MCP Phase 3 — Context enrichment tools (2 tools) — ✓ Done ### Also in v0.6 - [#47](https://github.com/codecoradev/cora-cli/issues/47) GitHub Marketplace action — ✓ Done - [#196](https://github.com/codecoradev/cora-cli/issues/196) VitePress docs site — ✓ Done -- [#161](https://github.com/codecoradev/cora-cli/issues/161) `cora gain` — local stats + viral sharing — ◎ Planned -- [#160](https://github.com/codecoradev/cora-cli/issues/160) Landing page redesign — ◎ Planned +- [#161](https://github.com/codecoradev/cora-cli/issues/161) `cora gain` — local stats + viral sharing — ✓ Done +- [#160](https://github.com/codecoradev/cora-cli/issues/160) Landing page redesign — ✓ Done ## v0.7 — Multi-Language & Code Graph Query layer built on top of the v0.6 index — call graph traversal, test impact analysis, broader language support, and real-time sync. -- [#266](https://github.com/codecoradev/cora-cli/issues/266) `cora callers` / `cora impact` — Call graph query commands — ◎ Planned -- [#267](https://github.com/codecoradev/cora-cli/issues/267) `cora affected` — Find tests affected by changes — ◎ Planned -- [#268](https://github.com/codecoradev/cora-cli/issues/268) Language expansion — 6 → 15+ language support — ◎ Planned -- [#269](https://github.com/codecoradev/cora-cli/issues/269) Auto-sync file watcher daemon — ◎ Planned +- [#266](https://github.com/codecoradev/cora-cli/issues/266) `cora callers` / `cora impact` — Call graph query commands — ✓ Done +- [#267](https://github.com/codecoradev/cora-cli/issues/267) `cora affected` — Find tests affected by changes — ✓ Done +- [#268](https://github.com/codecoradev/cora-cli/issues/268) Language expansion — 6 → 15+ language support — ✓ Done +- [#269](https://github.com/codecoradev/cora-cli/issues/269) Auto-sync file watcher daemon — ✓ Done ## Future — What's Next