Magellan
Version: 3.1.9
Magellan is a deterministic codebase indexing tool. It watches or scans source trees, extracts symbols, references, calls, AST nodes, code chunks, CFG data, and coverage metadata, then stores those facts in a local SQLite database for fast CLI and downstream-tool queries.
Magellan is intentionally fact-oriented: it records what is present in source code and leaves higher-level reasoning to tools such as llmgrep, Mirage, and Splice.
Current Storage Model
The supported user-facing database is SQLite:
code.db
Use .db files for normal operation. Historical alternative backend material has
been removed from the public documentation because it is not part of the current
supported workflow.
Optional source builds may include experimental geometric index code, but the SQLite database remains the source of truth.
Schema version: 12 (FTS5 full-text search enabled)
Features
- Multi-language symbol extraction with tree-sitter: Rust, Python, C, C++, Java, JavaScript, and TypeScript
- Stable symbol IDs, canonical FQNs, display FQNs, and byte/line spans
- File watching and one-shot indexing
- References and call graph queries
- AST node storage and AST queries
- Code chunks for source retrieval and editor context
- CFG blocks and CFG edges for control-flow analysis
- Coverage ingestion from LCOV into CFG coverage side tables
- Graph algorithms: reachability, dead code, cycles, condensation, paths, slice
- JSON, pretty JSON, human output, and graph exports
- LSIF import/export and SCIP export
doctorchecks for schema and database health
Quick Start
# Build an index
# Check database contents
# Query symbols in a file
# Find symbols
# Show incoming or outgoing references/calls
# Index or delete one file
# Recompute derived metrics
Coverage
Magellan can ingest LCOV data and attach it to CFG blocks and edges:
Status JSON always includes a stable coverage object:
When coverage exists, source, revision, and ingested_at are included.
Useful Commands
External CFG Tools
The optional external-tools-cfg feature enables extra CFG extraction paths for
C/C++ and Java using installed external tools:
The default build does not require clang, javac, LLVM libraries, or Java bytecode libraries.
Documentation
- MANUAL.md: command reference and workflows
- CHANGELOG.md: release notes
- docs/MAGELLAN_ARCHITECTURE.md: architecture
- docs/SCHEMA_SQLITE.md: SQLite schema
- docs/SCHEMA_REFERENCE.md: stable IDs and data model
- docs/API_INTEGRATION.md: Rust/API integration notes
- docs/JSON_EXPORT_FORMAT.md: JSON response shape
- docs/CONTEXT_API_CONTRACT.md: context API contract
- docs/TESTING.md: verification commands
License
GPL-3.0