All notable changes to the ACP CLI will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- RFC-0015 Foundation Prompt (~620 tokens) for raw API and standalone usage
- Provides baseline coding agent behaviors for models without IDE system prompts
- Includes operating principles, interaction contract, output format, code quality rules
- Soft directive: Guides AI to use ACP metadata for navigation while still reading files before modification
--foundation-onlyflag - Output only the foundation prompt without primer sections--mcpflag - MCP mode with tool references instead of CLI commands (20-29% token savings)
- Foundation prompt token count: 576 → 620 tokens (added ACP context usage directive)
- Soft directive improves AI accuracy by ~45% compared to no directive
- Benchmark validated: +12.8% token reduction, +33.9% speed improvement with ACP
- RFC-0015: Primer System Redesign - Accuracy-focused, context-aware bootstrap
- 4-tier system: micro (<300), minimal (<450), standard (<700), full (≥700 tokens)
- Automatic tier selection based on token budget
- IDE environment detection (Cursor, VS Code, Cline, JetBrains, Zed, Claude Code)
--standaloneflag for raw API usage with IDE context warnings
- New
acp contextcommand for operation-specific AI contextacp context create- Naming conventions, import style for new filesacp context modify --file <path>- Constraints, importers for existing filesacp context debug --file <path>- Related files, symbols for debuggingacp context explore- Project overview, domains, stats
- Naming convention detection - Auto-detects file naming patterns per directory
- Import tracking - Tracks which files import each module (importers)
- MCP
acp_contexttool - Operation-specific context via MCP protocol - Cache enhancements:
conventionssection with file naming patterns and import styleimported_byfield for reverse import trackingprimary_languagedetection with percentage
- Primer tier thresholds now use RFC-0015 values (300, 450, 700)
PrimerTierenum:Micro,Minimal,Standard,Full- Improved primer output format with tier information
- acp-mcp updated to 0.2.0 with
acp_contexttool
- Fixed
acp constraints→acp checkin primer CLI overview section - Updated acp-spec submodule with corrected primer.defaults.json
Yanked due to acp constraints not being renamed to acp check in CLI overview.
- Fixed crates.io packaging: primer.defaults.json now included via build.rs
- Fixed code formatting issues
- Release workflow now runs CI checks (fmt, clippy, test) before building binaries
Yanked due to formatting check failure in CI.
- RFC-0004: Full primer implementation with value-based section selection
- 4-phase selection algorithm: required → conditional → safety → value-optimized
- Multi-dimensional value scoring (safety, efficiency, accuracy, base)
- 37 sections across 6 categories from
primer.defaults.json
- New primer CLI options:
-b, --budget— Token budget (shorthand)-f, --format— Output format (markdown, compact, json, text)-p, --preset— Weight presets (safe, efficient, accurate, balanced)--include,--exclude— Section inclusion/exclusion--categories— Category filtering--no-dynamic— Disable dynamic value modifiers--explain— Show selection reasoning--list-sections— List available sections--list-presets— List weight presets--preview— Preview selection without rendering--primer-config— Custom primer configuration file
- Dynamic sections populated from cache (protected files, domains, hacks, attempts)
- Project customization via
.acp/primer.json - MCP/shell capability filtering
- Primer tier names: survival, essential, operational, informed, complete, expert
- Primer now uses value-per-token optimization instead of fixed tier system
acp constraints→acp checkin primer.defaults.json (4 locations)- MCP capability filtering now properly excludes shell-only sections
- Fixed crates.io packaging: primer.defaults.json now included via build.rs
Yanked due to missing primer.defaults.json in crates.io package.
- Fixed crates.io packaging: checkout submodule and use --allow-dirty to include generated schemas
- Fixed crates.io packaging: schema files from acp-spec submodule are now properly included via build.rs
- File-level module annotations (
@acp:module) now generated for all files - Module name inference from file paths (e.g.,
_auth.py→ "Auth")
- File-level gaps with
symbol_kind = Nonenow handled correctly by heuristics engine
- RFC-0005: Annotation provenance tracking (
@acp:source,@acp:source-reviewed,@acp:source-id) - RFC-0008: Type annotations support in CLI
- Annotate/documentation config support for project customization
- Multi-language support: TypeScript, JavaScript, Python, Rust, Go, Java
- Use acp-spec submodule as single source of truth for JSON schemas
- Improved error messages for validate command on non-JSON files
- Resolved
-coption conflict in CLI - Submodule checkout in CI workflows
- NPM OIDC support and provenance for publishing
- Trusted publishing (no token dependency)
- Node 24 upgrade for publishing support