[package]
name = "spikard-cli"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = "Command-line interface for building and validating Spikard applications"
keywords = ["cli", "http", "api", "codegen", "validation"]
categories = ["command-line-utilities", "development-tools"]
documentation = "https://docs.rs/spikard-cli"
readme = "README.md"
[package.metadata.cargo-machete]
ignored = [
"clap_complete",
"clap_mangen",
"prost",
"prost-reflect",
"prost-types",
"protox",
]
[lib]
name = "spikard_cli"
path = "src/lib.rs"
[[bin]]
name = "spikard"
path = "src/main.rs"
[features]
default = ["mcp"]
mcp = ["dep:rmcp"]
mcp-http = ["mcp", "rmcp/transport-streamable-http-server"]
all = ["mcp", "mcp-http"]
[dependencies]
anyhow = "1.0"
asyncapiv3 = "0.1.3"
axum.workspace = true
clap.workspace = true
clap_complete.workspace = true
clap_mangen.workspace = true
graphql-parser = "0.4"
heck = "0.5"
openapiv3 = "2.2"
prost = "0.14"
prost-reflect = "0.16"
prost-types = "0.14"
protox = "0.9"
rmcp = { version = "1.7.0", features = ["client", "transport-io"], optional = true }
scythe-core = { version = "0.7", features = ["serde"] }
serde.workspace = true
serde-saphyr = "0.0.26"
serde_json.workspace = true
spikard.workspace = true
spikard-codegen = { workspace = true }
spikard-http = { workspace = true }
tempfile = "3.27"
thiserror.workspace = true
tokio.workspace = true
tracing.workspace = true
[dev-dependencies]
assert_cmd = "2.2"
predicates = "3.1"
tempfile = "3.27"
[lints]
workspace = true