[package]
edition = "2024"
rust-version = "1.89"
name = "weavatrix-rust"
version = "2.16.4"
authors = ["Sergii Ziborov <sergii.ziborov@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Protocol-independent Rust repository intelligence: typed evidence graphs for impact, architecture, APIs, Git, n8n, Dify, Agent catalogs, Mermaid, and Web3 ABI"
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/Weavatrix/weavatrix-rust"
[package.metadata.docs.rs]
all-features = true
[features]
clone = ["dep:weavatrix-clone"]
default = [
"full",
"lang-rust",
]
full = [
"clone",
"git",
"memory",
"search",
"semantic",
"vector",
]
git = ["dep:weavatrix-git"]
lang-rust = [
"dep:proc-macro2",
"dep:syn",
]
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-rust"
path = "src/main.rs"
[[test]]
name = "analyze"
path = "tests/analyze.rs"
[[test]]
name = "analyze_call_resolution"
path = "tests/analyze_call_resolution.rs"
[[test]]
name = "analyze_more"
path = "tests/analyze_more.rs"
[[test]]
name = "analyze_rust_path_modules"
path = "tests/analyze_rust_path_modules.rs"
[[test]]
name = "architecture"
path = "tests/architecture.rs"
[[test]]
name = "domains"
path = "tests/domains.rs"
[[test]]
name = "navigation"
path = "tests/navigation.rs"
[[test]]
name = "repo"
path = "tests/repo.rs"
[[test]]
name = "surface"
path = "tests/surface.rs"
[[test]]
name = "tools"
path = "tests/tools.rs"
[[bench]]
name = "repository_suite"
path = "benches/repository_suite.rs"
harness = false
[dependencies.blazingly-json]
version = "0.1.0"
[dependencies.proc-macro2]
version = "1.0.107"
features = ["span-locations"]
optional = true
default-features = false
[dependencies.serde]
version = "1.0.229"
features = ["derive"]
[dependencies.sha3]
version = "0.10.8"
default-features = false
[dependencies.syn]
version = "3.0.3"
features = [
"clone-impls",
"full",
"parsing",
"printing",
"visit",
]
optional = true
default-features = false
[dependencies.weavatrix-clone]
version = "0.1.4"
optional = true
[dependencies.weavatrix-git]
version = "0.3.3"
optional = true
[dependencies.weavatrix-graph]
version = "0.6.3"
[dependencies.weavatrix-memory]
version = "0.3.3"
optional = true
[dependencies.weavatrix-parse]
version = "0.3.3"
[dependencies.weavatrix-scan]
version = "0.5"
[dependencies.weavatrix-search]
version = "0.3.1"
optional = true
default-features = false
[dependencies.weavatrix-search-vector]
version = "0.3.1"
optional = true
[dependencies.weavatrix-semantic]
version = "0.2.2"
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"