[package]
edition = "2024"
rust-version = "1.85"
name = "dci-tool"
version = "0.1.0"
authors = ["0xPlaygrounds"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Direct Corpus Interaction: a sandboxed, ripgrep-backed corpus-search toolset and agent for cyber-focused LLM agents, built on rig."
readme = "README.md"
keywords = [
"rig",
"dci",
"mcp",
"search",
"agent",
]
categories = [
"text-processing",
"command-line-utilities",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/ForeverAngry/dci-tool"
[features]
cli = [
"dep:clap",
"dep:anyhow",
"dep:tracing-subscriber",
]
default = []
eval = [
"dep:rig-retrieval-evals",
"dep:rig-tap",
]
mcp = [
"dep:rig-compose",
"dep:rig-mcp",
"dep:rig-tap",
]
telemetry = ["dep:rig-tap"]
[lib]
name = "dci_tool"
path = "src/lib.rs"
[[bin]]
name = "dci"
path = "src/bin/dci.rs"
required-features = ["cli"]
[[bin]]
name = "dci-eval"
path = "src/bin/dci_eval.rs"
required-features = [
"eval",
"cli",
]
[[bin]]
name = "dci-mcp"
path = "src/bin/dci_mcp.rs"
required-features = [
"mcp",
"cli",
]
[[test]]
name = "engine"
path = "tests/engine.rs"
[[test]]
name = "eval"
path = "tests/eval.rs"
[[test]]
name = "mcp"
path = "tests/mcp.rs"
[[test]]
name = "tools"
path = "tests/tools.rs"
[dependencies.anyhow]
version = "1"
optional = true
[dependencies.async-trait]
version = "0.1"
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.globset]
version = "0.4"
[dependencies.grep]
version = "0.3"
[dependencies.ignore]
version = "0.4"
[dependencies.rig-compose]
version = "0.5"
optional = true
[dependencies.rig-core]
version = "0.38.1"
[dependencies.rig-mcp]
version = "0.2"
optional = true
[dependencies.rig-retrieval-evals]
version = "0.4"
features = ["agents"]
optional = true
[dependencies.rig-tap]
version = "0.3.0"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"rt",
"rt-multi-thread",
"macros",
"time",
"sync",
]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
optional = true
[dependencies.uuid]
version = "1.10"
features = [
"v4",
"serde",
]
[dev-dependencies.rig-core]
version = "0.38.1"
features = ["test-utils"]
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"rt",
"rt-multi-thread",
"macros",
"time",
"sync",
]
[lints.clippy]
await_holding_lock = "deny"
await_holding_refcell_ref = "deny"
dbg_macro = "deny"
expect_fun_call = "deny"
expect_used = "deny"
indexing_slicing = "deny"
panic = "deny"
panic_in_result_fn = "deny"
todo = "deny"
unimplemented = "deny"
unreachable = "deny"
unwrap_used = "deny"
[profile.release]
opt-level = "s"
lto = true