[package]
name = "defect-cli"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "defect: a highly configurable, ACP-native, resource-frugal headless general-purpose agent CLI."
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/defect-v{ version }-{ target }{ archive-suffix }"
bin-dir = "{ bin }{ binary-ext }"
pkg-fmt = "tgz"
[package.metadata.binstall.overrides.x86_64-pc-windows-msvc]
pkg-fmt = "zip"
[lib]
name = "defect_cli"
path = "src/lib.rs"
[[bin]]
name = "defect"
path = "src/bin/cli.rs"
[[example]]
name = "defect-mcp-test-server"
path = "examples/mcp_test_server.rs"
required-features = ["__test-servers"]
[[example]]
name = "defect-mcp-streamable-http-test-server"
path = "examples/mcp_streamable_http_test_server.rs"
required-features = ["__test-servers"]
[features]
default = [
"provider-anthropic",
"provider-bedrock",
"provider-openai",
"provider-deepseek",
"yaml",
"repl",
"oneshot",
"init",
]
repl = ["dep:owo-colors", "dep:crossterm"]
oneshot = []
init = ["dep:inquire"]
provider-anthropic = ["defect-llm/provider-anthropic"]
provider-bedrock = ["defect-llm/provider-bedrock"]
provider-openai = ["defect-llm/provider-openai"]
provider-deepseek = ["defect-llm/provider-deepseek"]
yaml = ["defect-config/yaml"]
__test-servers = ["dep:rmcp", "dep:axum"]
[dependencies]
defect-acp.workspace = true
defect-agent.workspace = true
agent-client-protocol-schema.workspace = true
defect-config.workspace = true
defect-http.workspace = true
defect-llm.workspace = true
http.workspace = true
defect-mcp.workspace = true
defect-obs.workspace = true
defect-storage.workspace = true
defect-tools.workspace = true
futures.workspace = true
thiserror.workspace = true
tokio.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
anyhow.workspace = true
clap.workspace = true
directories.workspace = true
serde.workspace = true
serde_json.workspace = true
owo-colors = { workspace = true, optional = true }
crossterm = { workspace = true, optional = true }
inquire = { version = "0.7", optional = true }
rmcp = { workspace = true, features = ["server", "transport-streamable-http-server"], optional = true }
axum = { version = "0.8", optional = true }
[dev-dependencies]
agent-client-protocol.workspace = true
futures.workspace = true
serde_json.workspace = true
tokio-util.workspace = true
wiremock.workspace = true
tempfile.workspace = true
toml = "0.8"
[[test]]
name = "mcp_stdio_smoke"
path = "tests/mcp_stdio_smoke.rs"
required-features = ["__test-servers"]
[lints]
workspace = true