service_kit 0.1.2

A foundational toolkit for building high-performance, modular services in Rust.
Documentation
[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]
# proc-macro consumers and toolchain utilities
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 }

# unified runtime deps (migrated from forge-core)
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 }

# Optional feature-gated deps
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]
# 目前build.rs只使用std库,如果将来需要额外依赖可以在这里添加

[features]
default = ["macros"]
macros = ["dep:service-kit-macros"]

# 轻量 CLI 内核:仅包含构建 CLI 所需依赖(兼容 wasm)
cli-core = [
    "dep:clap",
    "dep:oas",
    "dep:shlex",
]

# 原先的 cli-support(保留以兼容)
cli-support = ["dep:anyhow", "dep:clap", "dep:walkdir", "dep:fs_extra"]

# 完整的本地 API CLI(native):在 cli-core 基础上引入网络、终端与异步运行时
api-cli = [
    "cli-core",
    "dep:tokio",
    "dep:reedline",
    "dep:nu-ansi-term",
    "dep:reqwest",
]

# MCP 相关功能
mcp = ["dep:rmcp"]