[package]
name = "cli-engine"
version = "0.9.2"
edition = "2024"
description = "Rust CLI framework for consistent command modules"
repository = "https://github.com/godaddy/cli-engine"
readme = "../README.md"
license = "Apache-2.0"
keywords = ["cli", "framework", "clap", "schema"]
categories = ["command-line-interface"]
[lib]
name = "cli_engine"
path = "src/lib.rs"
[dependencies]
async-trait = "0.1.89"
base64 = "0.22.1"
bytes = "1.11"
cli-engine-macros = { version = "0.2.0", path = "../cli-engine-macros" }
keyring = { version = "3.6.1", optional = true, default-features = false }
open = { version = "5.3.2", optional = true }
rand = { version = "0.9", optional = true }
sha2 = { version = "0.10.9", optional = true }
url = { version = "2.5.4", optional = true }
zeroize = { version = "1.8", optional = true, features = ["derive"] }
chrono = { version = "0.4.42", default-features = false, features = ["clock", "serde"] }
clap = { version = "4.5.53", features = ["derive", "std", "string"] }
clap_complete = "4"
jmespath = "0.5.0"
reqwest = { version = "0.13", default-features = false, features = ["json", "multipart", "form", "rustls"] }
regex = "1.12.2"
schemars = { version = "1.2.1", features = ["derive"] }
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.145"
strsim = "0.11"
thiserror = "2.0.17"
toml = "0.9"
toml_edit = { version = "0.22", features = ["serde"] }
tokio = { version = "1.48.0", features = ["fs", "io-std", "io-util", "macros", "net", "process", "rt-multi-thread", "signal", "sync", "time"] }
tracing = "0.1.43"
termimad = "0.34.1"
inquire = "0.9.4"
[target.'cfg(target_os = "linux")'.dependencies]
keyring = { version = "3.6.1", optional = true, default-features = false, features = ["async-secret-service", "tokio", "crypto-rust"] }
[target.'cfg(target_os = "macos")'.dependencies]
keyring = { version = "3.6.1", optional = true, default-features = false, features = ["apple-native"] }
[target.'cfg(windows)'.dependencies]
keyring = { version = "3.6.1", optional = true, default-features = false, features = ["windows-native"] }
[features]
pkce-auth = ["dep:keyring", "dep:open", "dep:rand", "dep:sha2", "dep:url", "dep:zeroize"]
[dev-dependencies]
pretty_assertions = "1.4.1"
tempfile = "3.23.0"
[lints]
workspace = true