All notable changes to this project are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- MCP contract coverage now exercises the remaining explicit todo stories.
Search responses are verified as file-grouped with symbol locations and
nextSteps;symbol_contextis verified forAuthService;detect_changesis verified against a real non-git directory. - Durable verification scripts and e2e coverage now replace one-off checks.
verify:cli-realruns the real compiled CLI against this repo plus available sibling real codebases,test:coverageuses the stable Vitest runner flags, MCP stdio starts through the compiled CLI in an e2e test, and theinitTTY picker is exercised through a pseudo-terminal.
detect_changesno-git errors no longer leak rawgit diffusage output. The command now suppresses git stderr and returns the structuredGit not available or not in a git repositoryerror with recovery steps.
2.5.0-canary - 2026-06-30
Canary base for 2.5.0. Merging to
mainpublishes2.5.0-canary.<sha>with the npmcanarytag; no stable 2.5.0 release has been cut.
- Base package version moved to
2.5.0for canary publishing. The publish workflow derives canaries frompackage.json, so this produces2.5.0-canary.<sha>artifacts while release creation remains manual. - CLI docs now include the full 17-command surface.
checkis documented alongside the 15 analysis commands andinit, matching--help.
changes <target>now analyzes the target repo, not the caller's cwd. Git diff commands run in the requested root with relative paths, so cross-repo reviews no longer report the wrong files.fileaccepts paths returned by other commands. Exact graph paths likesrc/...orapp/...are tried before common-prefix stripping.- Subcommand
--forcenow consistently bypasses cache. Analysis commands honor command-local and global--forceflags. - Monorepo package parsing honors parent
.gitignorefiles. Generated directories such as.next/are excluded when the target path is a package below the repo root. - Invalid enum-like CLI options fail with exit code 2. Unknown
hotspots --metric,changes --scope, andcheck --gatevalues now return a clear usage error instead of silently producing misleading output. pnpm testnow rebuilds before running dist-backed CLI E2E tests. This prevents staledist/cli.jsfrom masking source changes without parallel rebuild churn, and runs Vitest with forked non-parallel file execution to avoid worker progress RPC timeouts on the heavy real-codebase suites.
2.4.1 - 2026-06-01
--helprendered the command list twice. The program description embedded a hand-maintained command list that commander also auto-generates, producing two command sections with contradictoryinitdescriptions — the manual one stale, claiming the global skill installs by default (it is opt-in since 2.4.0). The manual list is removed; commander is now the single source, with the MCP-mode and starter hints appended after it viaaddHelpText.
initlifecycle E2E tests (tests/cli-init.e2e.test.ts) — spawn the real binary across every mode (--json, default,--all,--agents, unknown-id, empty selection, idempotent re-run, missing path,--skillopt-in), pluspromptSelectionnon-TTY fallback tests. The CLI action layer was previously uncovered.
2.4.0 - 2026-06-01
initcommand — agent adoption layer.codebase-intelligence init [path]writes an idempotent, marked instruction block ("query CI before grep/read") into each selected agent's repo file (AGENTS.md,CLAUDE.md,.cursor/rules/codebase-intelligence.mdc,.github/copilot-instructions.md,GEMINI.md,CONVENTIONS.md) and optionally installs a portable skill to~/.claude/skills/codebase-intelligence/SKILL.md.- Opt-in by design — nothing is written unless chosen. On a TTY, an interactive
picker (
AGENTS.md+CLAUDE.mdpreselected); non-interactively, those two by default. The global skill installs only with--skill. --agents <list>to select explicitly,--allfor every agent,--yesfor non-interactive defaults,--jsonfor machine-readable output.- Writes are idempotent — only content between the
codebase-intelligence:start/:endmarkers is ever touched; existing user content is preserved.
- Opt-in by design — nothing is written unless chosen. On a TTY, an interactive
picker (
src/install/module — managed-block upsert engine, per-agent target registry, and shared block/skill content (single source of truth).- Registry skill —
skills/codebase-intelligence/SKILL.md, installable viaags install codebase-intelligenceornpx skills add.
- Docs updated for the new command:
README.md,docs/cli-reference.md,docs/architecture.md,llms.txt,llms-full.txt.
2.3.0 - 2026
Baseline for this changelog. For release history prior to and including 2.3.0, see the git tags and commit history.