[package]
name = "magellan"
version = "3.3.13"
edition = "2021"
license = "GPL-3.0-only"
repository = "https://github.com/oldnordic/magellan"
readme = "README.md"
documentation = "https://github.com/oldnordic/magellan/blob/main/MANUAL.md"
description = "Deterministic codebase mapping tool for local development"
keywords = ["code-indexing", "code-analysis", "ast", "source-code", "cli"]
categories = ["development-tools", "command-line-utilities"]
exclude = [
".mcp.json",
"AGENTS.md",
"CLAUDE.md",
"codemcp",
".planning/",
".github/",
"get-shit-done/",
"commands/",
"scripts/",
"docs/*",
"CONTEXT_*.md",
"MAGELLAN_CONTEXT.md",
"opencode.json",
"BUILD_WARNINGS_*.md",
"CLIPPY_*.md",
"COMPILATION_ERROR_*.md",
"CONTEXT_LOGICGRAPH_*.md",
"TEST-*-RESULTS.md",
"PLAN_*_MIGRATION.md",
"*.bak",
"*.checkpoint",
"*.wal",
".splice_graph.*",
]
[[bin]]
name = "magellan"
path = "src/main.rs"
[[bench]]
name = "perf_suite"
harness = false
path = "benches/perf_suite.rs"
[[bench]]
name = "context_bench"
harness = false
path = "benches/context_bench.rs"
[[bench]]
name = "kv_metadata_bench"
harness = false
path = "benches/kv_metadata_bench.rs"
[features]
default = ["sqlite-backend", "geometric-backend"]
sqlite-backend = ["sqlitegraph/sqlite-backend"]
geometric-backend = ["dep:geographdb-core"]
bytecode-cfg = []
external-tools-cfg = []
telemetry = []
llvm-cfg = ["dep:llvm-sys"]
windows = []
web-ui = ["dep:axum", "dep:tower", "dep:tower-http"]
debug-prints = ["geographdb-core/debug-prints"]
[dependencies]
ahash = "0.8"
notify = "8.2.0"
notify-debouncer-mini = "0.7.0"
anyhow = "1.0"
thiserror = "1.0"
indicatif = "0.17"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"
tree-sitter = "0.25"
tree-sitter-rust = "0.24"
tree-sitter-python = "0.25"
tree-sitter-c = "0.24"
tree-sitter-cpp = "0.23"
tree-sitter-java = "0.23"
tree-sitter-javascript = "0.25"
tree-sitter-typescript = "0.23"
sha2 = "0.10"
hex = "0.4"
uuid = { version = "1.0", features = ["serde", "v4"] }
chrono = { version = "0.4", features = ["serde"] }
signal-hook = "0.3"
sqlitegraph = { version = "3.0.3", default-features = false }
walkdir = "2.5"
git2 = "0.20"
globset = "0.4"
lcov = "0.8.2"
ignore = "0.4.25"
rusqlite = "0.31"
csv = "1.3"
scip = "0.6.1"
protobuf = "3.7"
base64 = "0.22"
blake3 = "1.5"
xxhash-rust = { version = "0.8", features = ["xxh3"] }
memchr = "2"
fixedbitset = "0.4"
camino = "1.2"
rayon = "1.11"
tempfile = "3.10"
glam = { version = "0.27", features = ["serde"] }
geographdb-core = { version = "0.1.0", optional = true }
llvm-sys = { version = "170", optional = true }
tokio = { version = "1", features = ["rt-multi-thread", "fs", "sync", "time", "macros"] }
tokio-stream = "0.1"
async-channel = "2"
axum = { version = "0.7", optional = true }
tower = { version = "0.4", optional = true }
tower-http = { version = "0.5", features = ["fs", "cors"], optional = true }
tower-lsp = { version = "0.20", optional = true }
lsp-types = { version = "0.95", optional = true }
[dependencies.inkwell]
version = "0.5"
optional = true
features = ["target-all"]
[dependencies.which]
version = "6"
optional = false
[dev-dependencies]
criterion = "0.5"