[package]
edition = "2024"
rust-version = "1.94"
name = "brontes"
version = "0.2.0"
authors = ["TJ Smith"]
build = false
exclude = [
".github/",
".claude/",
".cargo/",
"scripts/",
".gitignore",
".anodizer.yaml",
"Taskfile.yml",
"clippy.toml",
"deny.toml",
"rustfmt.toml",
"rust-toolchain.toml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Transform any clap CLI into an MCP server."
homepage = "https://github.com/tj-smith47/brontes"
documentation = "https://docs.rs/brontes"
readme = "README.md"
keywords = [
"cli",
"clap",
"mcp",
"ai",
"server",
]
categories = [
"command-line-interface",
"development-tools",
]
license = "MIT"
repository = "https://github.com/tj-smith47/brontes"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[lib]
name = "brontes"
path = "src/lib.rs"
[[example]]
name = "make-mcp"
path = "examples/make-mcp/main.rs"
[[test]]
name = "annotations_parity"
path = "tests/annotations_parity.rs"
[[test]]
name = "custom_command_name"
path = "tests/custom_command_name.rs"
[[test]]
name = "divergences_parity"
path = "tests/divergences_parity.rs"
[[test]]
name = "edge_cases_adversarial"
path = "tests/edge_cases_adversarial.rs"
[[test]]
name = "edge_cases_input"
path = "tests/edge_cases_input.rs"
[[test]]
name = "example_make_mcp"
path = "tests/example_make_mcp.rs"
[[test]]
name = "generate_tools"
path = "tests/generate_tools.rs"
[[test]]
name = "generate_tools_golden"
path = "tests/generate_tools_golden.rs"
[[test]]
name = "generate_tools_perf"
path = "tests/generate_tools_perf.rs"
[[test]]
name = "manager_claude"
path = "tests/manager_claude.rs"
[[test]]
name = "manager_cursor"
path = "tests/manager_cursor.rs"
[[test]]
name = "manager_vscode"
path = "tests/manager_vscode.rs"
[[test]]
name = "manager_zed"
path = "tests/manager_zed.rs"
[[test]]
name = "middleware_execution"
path = "tests/middleware_execution.rs"
[[test]]
name = "selectors_parity"
path = "tests/selectors_parity.rs"
[[test]]
name = "server_http_smoke"
path = "tests/server_http_smoke.rs"
[[test]]
name = "server_stdio_smoke"
path = "tests/server_stdio_smoke.rs"
[[test]]
name = "tool_name"
path = "tests/tool_name.rs"
[[test]]
name = "warn_fires"
path = "tests/warn_fires.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.clap]
version = "4.5"
features = [
"derive",
"string",
"wrap_help",
]
[dependencies.dirs]
version = "5"
[dependencies.futures]
version = "0.3"
[dependencies.http-body-util]
version = "0.1"
[dependencies.hyper]
version = "1"
features = [
"server",
"http1",
]
[dependencies.hyper-util]
version = "0.1"
features = [
"tokio",
"server",
]
[dependencies.rmcp]
version = "1.6"
features = [
"server",
"transport-io",
"transport-streamable-http-server",
"schemars",
]
[dependencies.schemars]
version = "1.0"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.tempfile]
version = "3"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"signal",
"process",
"io-util",
"io-std",
"sync",
"net",
"time",
]
[dependencies.tokio-util]
version = "0.7"
features = ["rt"]
[dependencies.tower-service]
version = "0.3"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dev-dependencies.pretty_assertions]
version = "1"
[dev-dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
]
default-features = false
[dev-dependencies.rmcp]
version = "1.6"
features = [
"server",
"client",
"transport-io",
"transport-streamable-http-server",
"schemars",
]
[dev-dependencies.tokio]
version = "1"
features = ["full"]
[lints.clippy]
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
[lints.clippy.all]
level = "deny"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
missing_docs = "warn"
unsafe_code = "forbid"