[package]
name = "sen"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "Script to System CLI Engine - A type-safe, macro-powered CLI framework"
keywords = ["cli", "framework", "macro", "routing"]
categories = ["command-line-interface", "development-tools"]
readme = "../README.md"
build = "build.rs"

[dependencies]
sen-rs-macros = { path = "../sen-rs-macros", version = "0.6.0" }
built = { version = "0.7", optional = true, features = ["chrono", "git2"] }
tracing = { version = "0.1", optional = true }
tracing-subscriber = { version = "0.3", optional = true, features = ["env-filter", "fmt", "json"] }
tokio = { version = "1.42", features = ["full"] }
clap = { version = "4", optional = true, features = ["derive", "env"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
chrono = { version = "0.4", optional = true }
thiserror = "2.0"
jsonrpc-core = { version = "18.0", optional = true }
futures = { version = "0.3", optional = true }

[build-dependencies]
built = { version = "0.7", features = ["chrono", "git2"] }

[features]
default = ["build-info", "tracing", "sensors"]
build-info = ["dep:built"]
tracing = ["dep:tracing", "dep:tracing-subscriber"]
clap = ["dep:clap"]
sensors = ["dep:chrono"]
mcp = ["dep:jsonrpc-core", "dep:futures"]
unstable-clap-tests = []  # For gating WIP clap integration tests

[dev-dependencies]
clap = { version = "4", features = ["derive", "env"] }
