[package]
name = "cmdreg"
description = "A lightweight string-keyed command dispatcher with axum-style extractors for Rust"
version = { workspace = true }
authors = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
edition = { workspace = true }
readme = "../README.md"
keywords = ["command", "dispatcher", "handler", "registry", "async"]
categories = ["rust-patterns", "asynchronous"]
[package.metadata.cmdreg]
rename_all = "camelCase"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[features]
default = []
macros = ["dep:cmdreg-macros", "dep:inventory"]
metadata = ["macros"]
full = ["macros", "metadata"]
[dependencies]
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
tokio = { workspace = true }
async-trait = { workspace = true }
anyhow = { workspace = true }
inventory = { workspace = true, optional = true }
cmdreg-macros = { path = "../cmdreg-macros", version = "0.2", optional = true }