[package]
edition = "2024"
rust-version = "1.94.1"
name = "code-analyze-core"
version = "0.2.1"
authors = ["Hugues Clouatre"]
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Multi-language AST analysis library using tree-sitter"
homepage = "https://github.com/clouatre-labs/code-analyze-mcp"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/clouatre-labs/code-analyze-mcp"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = [
"lang-rust",
"lang-go",
"lang-java",
"lang-python",
"lang-typescript",
"lang-tsx",
"lang-fortran",
]
lang-fortran = ["dep:tree-sitter-fortran"]
lang-go = ["dep:tree-sitter-go"]
lang-java = ["dep:tree-sitter-java"]
lang-python = ["dep:tree-sitter-python"]
lang-rust = ["dep:tree-sitter-rust"]
lang-tsx = ["dep:tree-sitter-typescript"]
lang-typescript = ["dep:tree-sitter-typescript"]
schemars = ["dep:schemars"]
[lib]
name = "code_analyze_core"
path = "src/lib.rs"
[[test]]
name = "acceptance_tests"
path = "tests/acceptance_tests.rs"
[[test]]
name = "fixtures"
path = "tests/fixtures.rs"
[[test]]
name = "idempotency"
path = "tests/idempotency.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "output_size"
path = "tests/output_size.rs"
[[test]]
name = "semantic_correctness"
path = "tests/semantic_correctness.rs"
[[test]]
name = "test_summary_no_pagination"
path = "tests/test_summary_no_pagination.rs"
[[test]]
name = "test_symbol_focus_summary"
path = "tests/test_symbol_focus_summary.rs"
[dependencies.base64]
version = "0.22"
[dependencies.ignore]
version = "0.4"
[dependencies.lru]
version = "0.16"
[dependencies.rayon]
version = "1"
[dependencies.schemars]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2.0.18"
[dependencies.tokio-util]
version = "0.7"
[dependencies.tracing]
version = "0.1"
[dependencies.tree-sitter]
version = "0.26.6"
[dependencies.tree-sitter-fortran]
version = "0.5.1"
optional = true
[dependencies.tree-sitter-go]
version = "0.25.0"
optional = true
[dependencies.tree-sitter-java]
version = "0.23.5"
optional = true
[dependencies.tree-sitter-python]
version = "0.25.0"
optional = true
[dependencies.tree-sitter-rust]
version = "0.24.0"
optional = true
[dependencies.tree-sitter-typescript]
version = "0.23.2"
optional = true
[dev-dependencies.schemars]
version = "1"
features = ["derive"]
[dev-dependencies.tempfile]
version = "=3.27.0"
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"sync",
"time",
"fs",
]
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"registry",
]