[package]
edition = "2021"
name = "magellan"
version = "3.3.1"
build = "build.rs"
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.*",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Deterministic codebase mapping tool for local development"
documentation = "https://github.com/oldnordic/magellan/blob/main/MANUAL.md"
readme = "README.md"
keywords = [
"code-indexing",
"code-analysis",
"ast",
"source-code",
"cli",
]
categories = [
"development-tools",
"command-line-utilities",
]
license = "GPL-3.0"
repository = "https://github.com/oldnordic/magellan"
[features]
bytecode-cfg = []
debug-prints = ["geographdb-core/debug-prints"]
default = [
"sqlite-backend",
"geometric-backend",
]
external-tools-cfg = []
geometric-backend = ["dep:geographdb-core"]
llvm-cfg = ["dep:llvm-sys"]
sqlite-backend = ["sqlitegraph/sqlite-backend"]
telemetry = []
web-ui = [
"dep:axum",
"dep:tower",
"dep:tower-http",
]
windows = []
[lib]
name = "magellan"
path = "src/lib.rs"
[[bin]]
name = "magellan"
path = "src/main.rs"
[[example]]
name = "check_cfg_schema"
path = "examples/check_cfg_schema.rs"
[[test]]
name = "algo_benchmarks"
path = "tests/algo_benchmarks.rs"
[[test]]
name = "algorithm_tests"
path = "tests/algorithm_tests.rs"
[[test]]
name = "ambiguity_tests"
path = "tests/ambiguity_tests.rs"
[[test]]
name = "backend_migration_tests"
path = "tests/backend_migration_tests.rs"
[[test]]
name = "bounds_check_tests"
path = "tests/bounds_check_tests.rs"
[[test]]
name = "call_graph_tests"
path = "tests/call_graph_tests.rs"
[[test]]
name = "cfg_on_demand_perf"
path = "tests/cfg_on_demand_perf.rs"
[[test]]
name = "cfg_tests"
path = "tests/cfg_tests.rs"
[[test]]
name = "chunk_integration_tests"
path = "tests/chunk_integration_tests.rs"
[[test]]
name = "churn_harness_test"
path = "tests/churn_harness_test.rs"
[[test]]
name = "cli_backend_ux_test"
path = "tests/cli_backend_ux_test.rs"
[[test]]
name = "cli_export_tests"
path = "tests/cli_export_tests.rs"
[[test]]
name = "cli_query_tests"
path = "tests/cli_query_tests.rs"
[[test]]
name = "cli_smoke_tests"
path = "tests/cli_smoke_tests.rs"
[[test]]
name = "connection_reuse_tests"
path = "tests/connection_reuse_tests.rs"
[[test]]
name = "coverage_weighted_cfg_tests"
path = "tests/coverage_weighted_cfg_tests.rs"
[[test]]
name = "cross_tool_system_harness"
path = "tests/cross_tool_system_harness.rs"
[[test]]
name = "delete_orphan_tests"
path = "tests/delete_orphan_tests.rs"
[[test]]
name = "delete_transaction_tests"
path = "tests/delete_transaction_tests.rs"
[[test]]
name = "error_tests"
path = "tests/error_tests.rs"
[[test]]
name = "export_tests"
path = "tests/export_tests.rs"
[[test]]
name = "external_tools_tests"
path = "tests/external_tools_tests.rs"
[[test]]
name = "fqn_integration_tests"
path = "tests/fqn_integration_tests.rs"
[[test]]
name = "freshness_tests"
path = "tests/freshness_tests.rs"
[[test]]
name = "geo_data_hygiene_tests"
path = "tests/geo_data_hygiene_tests.rs"
[[test]]
name = "geo_index_meta_test"
path = "tests/geo_index_meta_test.rs"
[[test]]
name = "geometric_ast_chunk_tests"
path = "tests/geometric_ast_chunk_tests.rs"
[[test]]
name = "geometric_cfg_tests"
path = "tests/geometric_cfg_tests.rs"
[[test]]
name = "geometric_chunks_tests"
path = "tests/geometric_chunks_tests.rs"
[[test]]
name = "geometric_condense_paths_tests"
path = "tests/geometric_condense_paths_tests.rs"
[[test]]
name = "geometric_section_growth_test"
path = "tests/geometric_section_growth_test.rs"
[[test]]
name = "geometric_semantic_tests"
path = "tests/geometric_semantic_tests.rs"
[[test]]
name = "geometric_watch_loop_tests"
path = "tests/geometric_watch_loop_tests.rs"
[[test]]
name = "graph_persist"
path = "tests/graph_persist.rs"
[[test]]
name = "ignore_rules_tests"
path = "tests/ignore_rules_tests.rs"
[[test]]
name = "indexer_tests"
path = "tests/indexer_tests.rs"
[[test]]
name = "kind_filter_tests"
path = "tests/kind_filter_tests.rs"
[[test]]
name = "line_column_tests"
path = "tests/line_column_tests.rs"
[[test]]
name = "lsif_stress_tests"
path = "tests/lsif_stress_tests.rs"
[[test]]
name = "migration_tests"
path = "tests/migration_tests.rs"
[[test]]
name = "multi_language_integration_tests"
path = "tests/multi_language_integration_tests.rs"
[[test]]
name = "parallel_scan_benchmark"
path = "tests/parallel_scan_benchmark.rs"
[[test]]
name = "parser_tests"
path = "tests/parser_tests.rs"
[[test]]
name = "path_validation_tests"
path = "tests/path_validation_tests.rs"
[[test]]
name = "performance_regression"
path = "tests/performance_regression.rs"
[[test]]
name = "phase1_persistence_compatibility"
path = "tests/phase1_persistence_compatibility.rs"
[[test]]
name = "references_tests"
path = "tests/references_tests.rs"
[[test]]
name = "rich_span_integration"
path = "tests/rich_span_integration.rs"
[[test]]
name = "safe_extraction_tests"
path = "tests/safe_extraction_tests.rs"
[[test]]
name = "scan_tests"
path = "tests/scan_tests.rs"
[[test]]
name = "scip_export_tests"
path = "tests/scip_export_tests.rs"
[[test]]
name = "shutdown_cleanup"
path = "tests/shutdown_cleanup.rs"
[[test]]
name = "signal_tests"
path = "tests/signal_tests.rs"
[[test]]
name = "span_tests"
path = "tests/span_tests.rs"
[[test]]
name = "sqlitegraph_exploration"
path = "tests/sqlitegraph_exploration.rs"
[[test]]
name = "status_tests"
path = "tests/status_tests.rs"
[[test]]
name = "stress_concurrent_edits"
path = "tests/stress_concurrent_edits.rs"
[[test]]
name = "symlink_tests"
path = "tests/symlink_tests.rs"
[[test]]
name = "system_workflow_tests"
path = "tests/system_workflow_tests.rs"
[[test]]
name = "timestamp_tests"
path = "tests/timestamp_tests.rs"
[[test]]
name = "toolchain_regression_tests"
path = "tests/toolchain_regression_tests.rs"
[[test]]
name = "tsan_thread_safety_tests"
path = "tests/tsan_thread_safety_tests.rs"
[[test]]
name = "v3_indexing_test"
path = "tests/v3_indexing_test.rs"
[[test]]
name = "v3_scan_persist_test"
path = "tests/v3_scan_persist_test.rs"
[[test]]
name = "verify_tests"
path = "tests/verify_tests.rs"
[[test]]
name = "wal_checkpoint_tests"
path = "tests/wal_checkpoint_tests.rs"
[[test]]
name = "watch_buffering_tests"
path = "tests/watch_buffering_tests.rs"
[[test]]
name = "watcher_tests"
path = "tests/watcher_tests.rs"
[[test]]
name = "web_ui_api_tests"
path = "tests/web_ui_api_tests.rs"
[[bench]]
name = "context_bench"
path = "benches/context_bench.rs"
harness = false
[[bench]]
name = "harness"
path = "benches/harness.rs"
[[bench]]
name = "kv_metadata_bench"
path = "benches/kv_metadata_bench.rs"
harness = false
[[bench]]
name = "perf_suite"
path = "benches/perf_suite.rs"
harness = false
[dependencies.ahash]
version = "0.8"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-channel]
version = "2"
[dependencies.axum]
version = "0.7"
optional = true
[dependencies.base64]
version = "0.22"
[dependencies.blake3]
version = "1.5"
[dependencies.camino]
version = "1.2"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.csv]
version = "1.3"
[dependencies.geographdb-core]
version = "0.1.0"
optional = true
[dependencies.git2]
version = "0.19"
[dependencies.glam]
version = "0.27"
features = ["serde"]
[dependencies.globset]
version = "0.4"
[dependencies.hex]
version = "0.4"
[dependencies.ignore]
version = "0.4.25"
[dependencies.indicatif]
version = "0.17"
[dependencies.inkwell]
version = "0.5"
features = ["target-all"]
optional = true
[dependencies.lcov]
version = "0.8.2"
[dependencies.llvm-sys]
version = "170"
optional = true
[dependencies.lsp-types]
version = "0.95"
optional = true
[dependencies.notify]
version = "8.2.0"
[dependencies.notify-debouncer-mini]
version = "0.7.0"
[dependencies.protobuf]
version = "3.7"
[dependencies.rayon]
version = "1.11"
[dependencies.rusqlite]
version = "0.31"
[dependencies.scip]
version = "0.6.1"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.signal-hook]
version = "0.3"
[dependencies.sqlitegraph]
version = "=2.0.7"
default-features = false
[dependencies.tempfile]
version = "3.10"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"fs",
"sync",
"time",
"macros",
]
[dependencies.tokio-stream]
version = "0.1"
[dependencies.toml]
version = "0.8"
[dependencies.tower]
version = "0.4"
optional = true
[dependencies.tower-http]
version = "0.5"
features = [
"fs",
"cors",
]
optional = true
[dependencies.tower-lsp]
version = "0.20"
optional = true
[dependencies.tree-sitter]
version = "0.22"
[dependencies.tree-sitter-c]
version = "0.21"
[dependencies.tree-sitter-cpp]
version = "0.21"
[dependencies.tree-sitter-java]
version = "0.21"
[dependencies.tree-sitter-javascript]
version = "0.21"
[dependencies.tree-sitter-python]
version = "0.21"
[dependencies.tree-sitter-rust]
version = "0.21"
[dependencies.tree-sitter-typescript]
version = "0.21"
[dependencies.uuid]
version = "1.0"
features = [
"serde",
"v4",
]
[dependencies.walkdir]
version = "2.5"
[dependencies.which]
version = "6"
optional = false
[dependencies.xxhash-rust]
version = "0.8"
features = ["xxh64"]
[dev-dependencies.criterion]
version = "0.5"