[package]
edition = "2021"
name = "magellan"
version = "2.0.0"
build = "build.rs"
exclude = [
".mcp.json",
"AGENTS.md",
"CLAUDE.md",
"codemcp",
"docs/DEVELOPMENT_WORKFLOW.md",
"docs/SQLITEGRAPH_ARCHITECTURE.md",
"docs/codemcp_manual.md",
"docs/codemcp-rename-bug.md",
".planning/",
]
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-or-later"
repository = "https://github.com/oldnordic/magellan"
[features]
default = []
native-v2 = ["sqlitegraph/native-v2"]
[lib]
name = "magellan"
path = "src/lib.rs"
[[bin]]
name = "magellan"
path = "src/main.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 = "bounds_check_tests"
path = "tests/bounds_check_tests.rs"
[[test]]
name = "call_graph_tests"
path = "tests/call_graph_tests.rs"
[[test]]
name = "chunk_integration_tests"
path = "tests/chunk_integration_tests.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 = "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 = "fqn_integration_tests"
path = "tests/fqn_integration_tests.rs"
[[test]]
name = "freshness_tests"
path = "tests/freshness_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 = "migration_tests"
path = "tests/migration_tests.rs"
[[test]]
name = "multi_language_integration_tests"
path = "tests/multi_language_integration_tests.rs"
[[test]]
name = "native_v2_backend"
path = "tests/native_v2_backend.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 = "timestamp_tests"
path = "tests/timestamp_tests.rs"
[[test]]
name = "tsan_thread_safety_tests"
path = "tests/tsan_thread_safety_tests.rs"
[[test]]
name = "verify_tests"
path = "tests/verify_tests.rs"
[[test]]
name = "watch_buffering_tests"
path = "tests/watch_buffering_tests.rs"
[[test]]
name = "watcher_tests"
path = "tests/watcher_tests.rs"
[dependencies.ahash]
version = "0.8"
[dependencies.anyhow]
version = "1.0"
[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.globset]
version = "0.4"
[dependencies.hex]
version = "0.4"
[dependencies.ignore]
version = "0.4.25"
[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 = "1.3.0"
[dependencies.thiserror]
version = "1.0"
[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"
[dev-dependencies.rusqlite]
version = "0.31"
[dev-dependencies.tempfile]
version = "3.10"