[package]
edition = "2024"
rust-version = "1.85.0"
name = "loctree"
version = "0.13.0"
authors = ["Loctree <loct@loct.io>"]
build = false
exclude = ["tests/fixtures"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "loctree"
description = "Structural code intelligence for AI agents. Scan once, query everything."
homepage = "https://loct.io"
readme = "README.md"
keywords = [
"static-analysis",
"dependency-graph",
"dead-exports",
"mcp",
"ai-agents",
]
categories = [
"development-tools",
"command-line-utilities",
]
license = "BUSL-1.1"
repository = "https://github.com/Loctree/loctree"
resolver = "2"
[features]
deep-index = ["dep:prost"]
deep-index-macos = []
default = []
[lib]
name = "loctree"
path = "src/lib.rs"
[[bin]]
name = "loct"
path = "src/bin/loct.rs"
[[bin]]
name = "loctree"
path = "src/bin/loctree.rs"
[[test]]
name = "agent_index_contract"
path = "tests/agent_index_contract.rs"
[[test]]
name = "context_pack_contract"
path = "tests/context_pack_contract.rs"
[[test]]
name = "context_perf_canary"
path = "tests/context_perf_canary.rs"
[[test]]
name = "e2e_cli"
path = "tests/e2e_cli.rs"
[[test]]
name = "indexstore_import"
path = "tests/indexstore_import.rs"
[[test]]
name = "metrics_parity_contract"
path = "tests/metrics_parity_contract.rs"
[[test]]
name = "no_self_shellout"
path = "tests/no_self_shellout.rs"
[[test]]
name = "parser_languages"
path = "tests/parser_languages.rs"
[[test]]
name = "prism_schema_golden"
path = "tests/prism_schema_golden.rs"
[[test]]
name = "scip_import"
path = "tests/scip_import.rs"
[[test]]
name = "scorecard_rg_parity"
path = "tests/scorecard_rg_parity.rs"
[[test]]
name = "semantic_acceptance"
path = "tests/semantic_acceptance.rs"
[[test]]
name = "swift_extraction"
path = "tests/swift_extraction.rs"
[[test]]
name = "symbol_graph_roundtrip"
path = "tests/symbol_graph_roundtrip.rs"
[[test]]
name = "ts_extractors_parity"
path = "tests/ts_extractors_parity.rs"
[[test]]
name = "ts_extractors_ts"
path = "tests/ts_extractors_ts.rs"
[[test]]
name = "watch_lock_cli"
path = "tests/watch_lock_cli.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.colored]
version = "3.0"
[dependencies.console]
version = "0.16"
[dependencies.dirs]
version = "6"
[dependencies.fs4]
version = "0.13"
[dependencies.git2]
version = "0.20"
features = ["vendored-libgit2"]
default-features = false
[dependencies.globset]
version = "0.4"
[dependencies.heck]
version = "0.5"
[dependencies.indicatif]
version = "0.18"
[dependencies.jaq-core]
version = "3.0"
[dependencies.jaq-json]
version = "2.0"
[dependencies.jaq-std]
version = "3.0"
[dependencies.json-five]
version = "0.3"
[dependencies.loctree-ast]
version = "0.13.0"
[dependencies.notify]
version = "8.0"
[dependencies.notify-debouncer-full]
version = "0.7"
[dependencies.once_cell]
version = "1.19"
[dependencies.oxc_allocator]
version = "0.128"
[dependencies.oxc_ast]
version = "0.128"
[dependencies.oxc_ast_visit]
version = "0.128"
[dependencies.oxc_parser]
version = "0.128"
[dependencies.oxc_semantic]
version = "0.128"
[dependencies.oxc_span]
version = "0.128"
[dependencies.prost]
version = "0.14"
optional = true
[dependencies.regex]
version = "1.12"
[dependencies.report-leptos]
version = "0.13.0"
[dependencies.rmcp]
version = "1.7"
features = [
"server",
"client",
"transport-child-process",
]
[dependencies.schemars]
version = "1"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha2]
version = "0.11"
[dependencies.strsim]
version = "0.11"
[dependencies.tempfile]
version = "3"
[dependencies.time]
version = "0.3"
features = ["formatting"]
[dependencies.tokio]
version = "1.0"
features = ["rt-multi-thread"]
[dependencies.toml]
version = "1.0"
[dependencies.tree-sitter]
version = "0.25"
[dependencies.tree-sitter-c]
version = "0.24.2"
[dependencies.tree-sitter-cpp]
version = "0.23.4"
[dependencies.tree-sitter-objc]
version = "3.0.2"
[dependencies.tree-sitter-swift]
version = "0.7.3"
[dependencies.urlencoding]
version = "2.1"
[dependencies.uuid]
version = "1.0"
features = ["v4"]
[dependencies.walkdir]
version = "2.4"
[dev-dependencies.assert_cmd]
version = "2.0"
[dev-dependencies.predicates]
version = "3.1"
[dev-dependencies.regex]
version = "1.12"
[dev-dependencies.serial_test]
version = "3.2"
[target."cfg(unix)".dependencies.libc]
version = "0.2"