Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 8 additions & 6 deletions src/cli/commands.rs
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ impl StorageBudgetMode {
name = "acb",
about = "AgenticCodebase \u{2014} Semantic code compiler for AI agents",
long_about = "AgenticCodebase compiles multi-language codebases into navigable concept \
graphs that AI agents can query. Supports Python, Rust, TypeScript, and Go.\n\n\
graphs that AI agents can query. Supports Python, Rust, TypeScript, JavaScript, Go, C++, Java, and C#.\n\n\
Quick start:\n\
\x20 acb compile ./my-project # build a graph\n\
\x20 acb info my-project.acb # inspect the graph\n\
Expand Down Expand Up @@ -127,7 +127,7 @@ pub enum Command {
/// Compile a repository into an .acb graph file.
///
/// Recursively scans the source directory, parses all supported languages
/// (Python, Rust, TypeScript, Go), performs semantic analysis, and writes
/// (Python, Rust, TypeScript, JavaScript, Go, C++, Java, C#), performs semantic analysis, and writes
/// a compact binary .acb file for fast querying.
///
/// Examples:
Expand Down Expand Up @@ -1211,12 +1211,14 @@ fn cmd_compile(
if cli.verbose {
eprintln!(" {} Running semantic analysis...", s.info());
}
let unit_count = parse_result.units.len();
progress("Analyzing", 0, unit_count);
const ANALYZE_PHASES: usize = 6;
progress("Analyzing", 0, ANALYZE_PHASES);
let analyzer = SemanticAnalyzer::new();
let analyze_opts = AnalyzeOptions::default();
let graph = analyzer.analyze(parse_result.units, &analyze_opts)?;
progress("Analyzing", unit_count, unit_count);
let graph =
analyzer.analyze_with_progress(parse_result.units, &analyze_opts, |step, total| {
progress("Analyzing", step, total);
})?;
progress_done();

if cli.verbose {
Expand Down
Loading