Expand description
@acp:module “ACP Library” @acp:summary “Token-efficient code documentation and indexing for AI systems” @acp:domain cli @acp:layer api @acp:stability stable
§ACP - AI Context Protocol
Token-efficient code documentation and indexing for AI systems.
§Features
- Fast Parsing: Uses tree-sitter for accurate AST parsing
- JSON Output: Queryable with jq for O(1) lookups
- Variable System: Token-efficient macros with inheritance
- Multi-language: TypeScript, JavaScript, Rust, Python, Go, Java
§Example
use acp::{Indexer, Config};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let config = Config::default();
let indexer = Indexer::new(config)?;
// Index codebase
let cache = indexer.index(".").await?;
// Write JSON output
cache.write_json(".acp.cache.json")?;
Ok(())
}Re-exports§
pub use annotate::AnalysisResult;pub use annotate::Analyzer as AnnotationAnalyzer;pub use annotate::AnnotateLevel;pub use annotate::ConversionSource;pub use annotate::FileChange;pub use annotate::OutputFormat;pub use annotate::Suggester as AnnotationSuggester;pub use annotate::Suggestion;pub use annotate::Writer as AnnotationWriter;pub use ast::AstParser;pub use ast::ExtractedSymbol;pub use ast::FunctionCall;pub use ast::Import;pub use ast::SymbolKind;pub use ast::Visibility;pub use attempts::AttemptTracker;pub use bridge::BridgeConfig;pub use bridge::BridgeMerger;pub use bridge::BridgeResult;pub use bridge::FormatDetector;pub use cache::Cache;pub use cache::CacheBuilder;pub use cache::Language;pub use config::Config;pub use constraints::BehaviorModifier;pub use constraints::ConstraintIndex;pub use constraints::Constraints;pub use constraints::DebugAttempt;pub use constraints::DebugResult;pub use constraints::DebugSession;pub use constraints::DebugStatus;pub use constraints::FileGuardrails;pub use constraints::GuardrailEnforcer;pub use constraints::GuardrailParser;pub use constraints::HackMarker;pub use constraints::LockLevel;pub use constraints::MutationConstraint;pub use constraints::QualityGate;pub use constraints::StyleConstraint;pub use conventions::detect_naming_conventions;pub use conventions::ConventionsAnalyzer;pub use conventions::NamingDetector;pub use error::AcpError;pub use error::Result;pub use git::BlameInfo;pub use git::FileHistory;pub use git::GitFileInfo;pub use git::GitRepository;pub use git::GitSymbolInfo;pub use index::Indexer;pub use parse::Parser;pub use query::Query;pub use scan::scan_project;pub use scan::ProjectScan;pub use sync::BootstrapAction;pub use sync::BootstrapResult;pub use sync::SyncExecutor;pub use sync::Tool as SyncTool;pub use vars::VarExpander;pub use vars::VarResolver;
Modules§
- annotate
- @acp:module “Annotation Generation” @acp:summary “Auto-annotation and documentation conversion for ACP adoption” @acp:domain cli @acp:layer service @acp:stability experimental
- ast
- @acp:module “AST Parsing” @acp:summary “Tree-sitter based AST parsing for symbol extraction” @acp:domain cli @acp:layer parsing
- attempts
- @acp:module “Attempt Tracking” @acp:summary “Attempt tracking and rollback system for AI troubleshooting” @acp:domain cli @acp:layer service
- bridge
- @acp:module “Documentation System Bridging” @acp:summary “RFC-0006: Bridges native documentation formats (JSDoc, docstrings, etc.) to ACP” @acp:domain cli @acp:layer service @acp:stability experimental
- cache
- @acp:module “Cache” @acp:summary “Cache types and builder for .acp.cache.json files” @acp:domain cli @acp:layer model
- commands
- @acp:module “Commands” @acp:summary “CLI command implementations” @acp:domain cli @acp:layer handler
- config
- @acp:module “Configuration” @acp:summary “Project configuration loading and defaults (schema-compliant)” @acp:domain cli @acp:layer config
- constraints
- @acp:module “Constraints” @acp:summary “AI behavioral guardrails and constraint system” @acp:domain cli @acp:layer model @acp:stability stable
- conventions
- @acp:module “Conventions” @acp:summary “RFC-0015: Auto-detection of naming and import conventions” @acp:domain cli @acp:layer analysis
- error
- @acp:module “Error Types” @acp:summary “Comprehensive error handling for ACP operations” @acp:domain cli @acp:layer utility
- expand
- @acp:module “Expansion Presets” @acp:summary “Re-exports expansion types and presets from vars module” @acp:domain cli @acp:layer utility
- git
- @acp:module “Git Integration” @acp:summary “Repository operations, blame tracking, and file history via libgit2” @acp:domain cli @acp:layer integration
- index
- @acp:module “Index” @acp:summary “Codebase indexing and cache generation” @acp:domain cli @acp:layer service
- parse
- @acp:module “Parser” @acp:summary “Source code parsing and annotation extraction (RFC-001/RFC-003 compliant)” @acp:domain cli @acp:layer service
- primer
- @acp:module “Primer” @acp:summary “RFC-0004/RFC-0015: AI bootstrap primer generation with tiered selection” @acp:domain cli @acp:layer feature
- query
- @acp:module “Query” @acp:summary “Programmatic cache access and querying (schema-compliant)” @acp:domain cli @acp:layer service
- scan
- @acp:module “Scanner” @acp:summary “Project scanning and auto-detection” @acp:domain cli @acp:layer service
- schema
- @acp:module “Schema Validation” @acp:summary “JSON schema validation for ACP files using jsonschema crate” @acp:domain cli @acp:layer utility
- sync
- @acp:module “Tool Sync” @acp:summary “Sync ACP context to AI tool configuration files” @acp:domain cli @acp:layer service
- vars
- @acp:module “Variables” @acp:summary “Variable system for token-efficient macros (schema-compliant)” @acp:domain cli @acp:layer model @acp:stability stable
- watch
- @acp:module “File Watcher” @acp:summary “Watches for file changes and triggers incremental updates” @acp:domain cli @acp:layer service
Constants§
- VERSION
- Library version