Symbols & spans
Names, kinds, qualified paths, source ranges, and jump locations in path:line:column form.
Rust-first codebase indexer
Turn source trees into queryable graphs.
Walk a repository, extract files, symbols, imports, calls, references, and packages, then store per-file graph partitions for fast local answers.
Parser-specific facts stay behind adapters. Everything lands in the same internal model — ready for lookup, traversal, impact analysis, and export.
Names, kinds, qualified paths, source ranges, and jump locations in path:line:column form.
Source dependencies plus package metadata from manifests such as package.json.
Caller, callee, reference, dependency tree, package, and impact queries from one local store.
JSONL, KiteDB-shaped JSONL, SCIP-shaped JSON, and LSIF-shaped JSONL outputs.
Build the store, ask questions, keep it fresh while editing, and export the graph into downstream formats.
curl -fsSL https://aci.mask.dev/install.sh | shSingle binary, no dependencies.
aci index .Graph partitions in the default .aci store.
aci query --pretty symbols --name mainReadable tables for humans, JSON for scripts.
aci watch . --debounce-ms 250Refresh changed partitions incrementally.
aci query --pretty impact src/lib.rsTrace what a changed file affects.
aci export --format jsonlProject the graph into interchange formats.
aci index . --max-parse-bytes 10485760Parser limits, branch diff review, release checks, and troubleshooting.
local-first pipeline
Hash files, skip unchanged inputs, replace graph partitions per changed file. Indexing stays incremental from day one.
Gitignore-aware walking filters vendor, generated, binary, and unchanged paths before parsing.
Language adapters emit the same graph model across Tree-sitter and scanner fallback paths.
Full indexes stream compact partition records; incremental updates append replacement records.
Symbols, deps, callers, callees, refs, packages, impact — JSONL, SCIP, or LSIF.
Each language owns detection, extraction, resolution, and Tree-sitter queries while emitting the shared graph model.
Extension detection and Tree-sitter extraction with scanner fallback.
symbols / imports / callsSource and shebang support for structural facts across common application code.
refs + depsParser-backed extraction for systems code with bounded deterministic fallbacks.
native projectsPackage and dependency extraction for repository-level graph context.
packagesMeasured on local checkouts with the tree-sitter-fallback extraction mode.
21,8471,6150.51ms03,0031,4562.16ms0