[package]
edition = "2024"
rust-version = "1.89"
name = "weavatrix-rust"
version = "1.0.2"
authors = ["Sergii Ziborov <sergii.ziborov@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Native repository intelligence for coding agents: 39 read-only MCP tools, evidence graph, cross-repository analysis, and lossless parsing"
homepage = "https://weavatrix.com"
documentation = "https://docs.rs/weavatrix-rust"
readme = "README.md"
keywords = [
"code-graph",
"static-analysis",
"repository",
"architecture",
"impact",
]
categories = [
"development-tools",
"parser-implementations",
]
license = "MIT"
repository = "https://github.com/sergii-ziborov/weavatrix-rust"
[package.metadata.docs.rs]
all-features = true
[features]
clone = ["dep:weavatrix-clone"]
default = [
"full",
"lang-rust",
"mcp",
]
full = [
"clone",
"git",
"memory",
"search",
"semantic",
"vector",
]
git = ["dep:weavatrix-git"]
lang-rust = [
"dep:proc-macro2",
"dep:syn",
]
mcp = [
"dep:mcport",
"dep:notify",
]
memory = ["dep:weavatrix-memory"]
search = ["dep:weavatrix-search"]
semantic = ["dep:weavatrix-semantic"]
vector = ["dep:weavatrix-search-vector"]
[lib]
name = "weavatrix_rust"
path = "src/lib.rs"
[[bin]]
name = "weavatrix"
path = "src/main.rs"
[[test]]
name = "analyze_call_resolution"
path = "tests/analyze_call_resolution.rs"
[[test]]
name = "analyze_contracts"
path = "tests/analyze_contracts.rs"
[[test]]
name = "analyze_json"
path = "tests/analyze_json.rs"
[[test]]
name = "analyze_languages"
path = "tests/analyze_languages.rs"
[[test]]
name = "analyze_rust"
path = "tests/analyze_rust.rs"
[[test]]
name = "application_boundary"
path = "tests/application_boundary.rs"
[[test]]
name = "git_graph_diff"
path = "tests/git_graph_diff.rs"
[[test]]
name = "health_cycles"
path = "tests/health_cycles.rs"
[[test]]
name = "memory_boundary"
path = "tests/memory_boundary.rs"
[[test]]
name = "no_unknown_states"
path = "tests/no_unknown_states.rs"
[[test]]
name = "tool_contracts"
path = "tests/tool_contracts.rs"
[[test]]
name = "tool_parity"
path = "tests/tool_parity.rs"
[[test]]
name = "typed_contract_trace"
path = "tests/typed_contract_trace.rs"
[[bench]]
name = "repository_suite"
path = "benches/repository_suite.rs"
harness = false
[dependencies.blazingly-json]
version = "0.1.0"
[dependencies.mcport]
version = "0.3.0"
optional = true
[dependencies.notify]
version = "8.2.0"
optional = true
[dependencies.proc-macro2]
version = "1.0.107"
features = ["span-locations"]
optional = true
default-features = false
[dependencies.serde]
version = "1.0.229"
features = ["derive"]
[dependencies.syn]
version = "3.0.3"
features = [
"clone-impls",
"full",
"parsing",
"printing",
"visit",
]
optional = true
default-features = false
[dependencies.weavatrix-clone]
version = "0.1.1"
optional = true
[dependencies.weavatrix-git]
version = "0.2.0"
optional = true
[dependencies.weavatrix-graph]
version = "0.6.1"
[dependencies.weavatrix-memory]
version = "0.3.1"
optional = true
[dependencies.weavatrix-parse]
version = "0.2.0"
[dependencies.weavatrix-scan]
version = "0.4.5"
[dependencies.weavatrix-search]
version = "0.3.0"
optional = true
default-features = false
[dependencies.weavatrix-search-vector]
version = "0.3.0"
optional = true
[dependencies.weavatrix-semantic]
version = "0.2.1"
features = ["vector-search"]
optional = true
[dev-dependencies]
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
unsafe_code = "forbid"
[profile.release]
lto = "fat"
codegen-units = 1
panic = "abort"
strip = "symbols"