[package]
name = "service_kit"
version.workspace = true
edition = "2021"
authors = ["lvsoft"]
description = "A foundational toolkit for building high-performance, modular services in Rust."
license = "MIT OR Apache-2.0"
repository = "https://github.com/lvsoft/service_kit"
readme = "README.md"
[lib]
[[bin]]
name = "forge-cli"
path = "src/main.rs"
required-features = ["cli-support"]
[dependencies]
syn = { version = "2.0", features = ["full", "extra-traits"] }
quote = "1.0"
proc-macro2 = "1.0"
toml = "0.9"
service-kit-macros = { version = "0.1.2", optional = true }
axum = { version = "0.8", features = ["json"], default-features = false }
once_cell = "1.19"
inventory = "0.3"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_urlencoded = "0.7.1"
thiserror = "2.0.12"
utoipa = { version = "5.4.0", features = ["axum_extras", "macros"] }
schemars = { version = "1.0.4", features = ["derive", "chrono04"], default-features = true }
anyhow = { version = "1.0", optional = true }
clap = { version = "4.5", features = ["derive", "env"], optional = true }
walkdir = { version = "2.5", optional = true }
fs_extra = { version = "1.3", optional = true }
tokio = { version = "1.38.0", features = ["full"], optional = true }
reedline = { version = "0.42.0", features = ["bashisms", "sqlite"], optional = true }
nu-ansi-term = { version = "0.50.0", optional = true }
oas = { version = "0.2.1", optional = true }
shlex = { version = "1.3.0", optional = true }
rmcp = { workspace = true, optional = true }
reqwest = { version = "0.12", features = ["json"], optional = true }
[dev-dependencies]
serde = { version = "1.0", features = ["derive"] }
utoipa = { version = "5.4", features = ["axum_extras"] }
toml = "0.9"
[build-dependencies]
[features]
default = ["macros"]
macros = ["dep:service-kit-macros"]
cli-core = [
"dep:clap",
"dep:oas",
"dep:shlex",
]
cli-support = ["dep:anyhow", "dep:clap", "dep:walkdir", "dep:fs_extra"]
api-cli = [
"cli-core",
"dep:tokio",
"dep:reedline",
"dep:nu-ansi-term",
"dep:reqwest",
]
mcp = ["dep:rmcp"]