[package]
name = "cli-forge"
version = "1.0.0"
rust-version = "1.85"
edition = "2024"
license = "Apache-2.0 OR MIT"
readme = "README.md"
description = "Unified CLI framework: runtime command registration with styled output through one API."
keywords = ["cli", "command-line", "terminal", "framework"]
categories = ["command-line-interface", "development-tools"]
homepage = "https://github.com/jamesgober/cli-forge"
repository = "https://github.com/jamesgober/cli-forge"
documentation = "https://docs.rs/cli-forge"
authors = ["James Gober <me@jamesgober.com>"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[lib]
name = "cli_forge"
path = "src/lib.rs"
[features]
default = ["std", "color"]
std = []
color = ["std", "dep:enable-ansi-support"]
auth = ["std"]
[dependencies]
[target.'cfg(windows)'.dependencies]
enable-ansi-support = { version = "0.2", optional = true }
[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
proptest = "1"
[target.'cfg(loom)'.dev-dependencies]
loom = "0.7"
[[bench]]
name = "bench"
harness = false
required-features = ["std"]
[[example]]
name = "quick_start"
required-features = ["std"]
[[example]]
name = "three_paths"
required-features = ["std"]
[[example]]
name = "colors"
required-features = ["std"]
[[example]]
name = "status_report"
required-features = ["std"]
[[example]]
name = "commands"
required-features = ["std"]
[[example]]
name = "arguments"
required-features = ["std"]
[[example]]
name = "auth"
required-features = ["auth"]
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
panic = "abort"
strip = "symbols"