[package]
edition = "2024"
name = "basemind"
version = "0.2.2"
authors = ["Na'aman Hirschfeld <nhirschfeld@gmail.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Full AI context layer over MCP — tree-sitter code-map, document RAG (PDF/Office/HTML/email + OCR + reranker), shared agent memory, on-demand web crawl, git history + blame + per-symbol diff. 300+ languages, 8 coding-agent harnesses, content-addressed Fjall + LanceDB."
homepage = "https://github.com/Goldziher/basemind"
documentation = "https://docs.rs/basemind"
readme = "README.md"
keywords = [
"mcp",
"agent-context",
"rag",
"code-map",
"tree-sitter",
]
categories = [
"command-line-utilities",
"development-tools",
]
license = "MIT"
repository = "https://github.com/Goldziher/basemind"
[package.metadata.cargo-machete]
ignored = ["serde_toon_format"]
[features]
crawl = [
"documents",
"dep:kreuzcrawl",
"dep:url",
]
default = []
documents = [
"intelligence",
"kreuzberg/formats",
"kreuzberg/analysis",
"kreuzberg/chunking-tokenizers",
"kreuzberg/embeddings",
"kreuzberg/reranker",
"kreuzberg/reranker-presets",
"kreuzberg/ocr",
"kreuzberg/paddle-ocr",
"kreuzberg/layout-detection",
"kreuzberg/auto-rotate",
"kreuzberg/ner-onnx",
"kreuzberg/keywords-yake",
"kreuzberg/keywords-rake",
"kreuzberg/summarization",
"kreuzberg/summarization-llm",
"kreuzberg/redaction",
"kreuzberg/qr-codes",
"dep:serde_toon_format",
]
full = [
"documents",
"memory",
"crawl",
]
intelligence = [
"dep:kreuzberg",
"dep:lancedb",
"dep:arrow-array",
"dep:arrow-schema",
"dep:futures",
]
memory = [
"intelligence",
"kreuzberg/embeddings",
"kreuzberg/keywords",
"kreuzberg/ner-onnx",
]
[lib]
name = "basemind"
path = "src/lib.rs"
[[bin]]
name = "basemind"
path = "src/main.rs"
[[test]]
name = "concurrency_smoke"
path = "tests/concurrency_smoke.rs"
[[test]]
name = "config_schema"
path = "tests/config_schema.rs"
[[test]]
name = "git_cache_smoke"
path = "tests/git_cache_smoke.rs"
[[test]]
name = "git_smoke"
path = "tests/git_smoke.rs"
[[test]]
name = "harden"
path = "tests/harden.rs"
[[test]]
name = "lang_fallback_smoke"
path = "tests/lang_fallback_smoke.rs"
[[test]]
name = "mcp_smoke"
path = "tests/mcp_smoke.rs"
[[test]]
name = "property_smoke"
path = "tests/property_smoke.rs"
[[test]]
name = "scan_smoke"
path = "tests/scan_smoke.rs"
[[test]]
name = "schema_bump"
path = "tests/schema_bump.rs"
[[test]]
name = "web_smoke"
path = "tests/web_smoke.rs"
[dependencies.ahash]
version = "0.8"
[dependencies.anstream]
version = "1.0"
[dependencies.anstyle]
version = "1"
[dependencies.anyhow]
version = "1"
[dependencies.arc-swap]
version = "1.9.1"
[dependencies.arrow-array]
version = "58"
optional = true
[dependencies.arrow-schema]
version = "58"
optional = true
[dependencies.blake3]
version = "1"
[dependencies.bstr]
version = "1"
features = ["serde"]
[dependencies.clap]
version = "4"
features = [
"derive",
"env",
]
[dependencies.fjall]
version = "3.1.5"
[dependencies.fs2]
version = "0.4"
[dependencies.futures]
version = "0.3"
optional = true
[dependencies.gix]
version = "0.84.0"
features = [
"status",
"blob-diff",
"revision",
"max-performance-safe",
]
[dependencies.globset]
version = "0.4"
[dependencies.hex]
version = "0.4"
[dependencies.ignore]
version = "0.4"
[dependencies.jsonschema]
version = "0.46"
[dependencies.kreuzberg]
version = "=5.0.0-rc.18"
features = [
"tokio-runtime",
"simd-utf8",
]
optional = true
default-features = false
[dependencies.kreuzcrawl]
version = "=0.3.0-rc.55"
features = ["native-runtime"]
optional = true
default-features = false
[dependencies.lancedb]
version = "0.30"
optional = true
[dependencies.lru]
version = "0.18.0"
[dependencies.memchr]
version = "2"
[dependencies.notify]
version = "8"
[dependencies.notify-debouncer-full]
version = "0.7"
[dependencies.rayon]
version = "1"
[dependencies.regex]
version = "1.12.4"
[dependencies.rmcp]
version = "1.7"
features = [
"server",
"macros",
"schemars",
"transport-io",
]
[dependencies.rmp-serde]
version = "1"
[dependencies.schemars]
version = "1.2"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.serde_toon_format]
version = "0.1"
optional = true
[dependencies.streaming-iterator]
version = "0.1"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"signal",
"sync",
"io-util",
"io-std",
"time",
]
[dependencies.toml]
version = "1.1"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.tree-sitter]
version = "0.26"
[dependencies.tree-sitter-language-pack]
version = "=1.9.0-rc.45"
[dependencies.url]
version = "2"
features = ["serde"]
optional = true
[dev-dependencies.insta]
version = "1"
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.rmcp]
version = "1.7"
features = [
"client",
"transport-child-process",
]
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"time",
]
[dev-dependencies.wiremock]
version = "0.6"
[profile.release]
lto = "thin"
codegen-units = 1