[package]
name = "mod-cli"
version = "0.5.3"
edition = "2021"
rust-version = "1.81"
license = "Apache-2.0"
readme = "README.md"
description = "A fully customizable, feature-rich CLI framework for Rust. Define commands, prefixes, styled output, and more—built for flexibility and speed."
keywords = [
"cli",
"framework",
"terminal",
"commands",
"modular",
]
categories = [
"command-line-interface",
"command-line-utilities",
"asynchronous",
"development-tools",
]
homepage = "https://github.com/jamesgober/mod-cli"
repository = "https://github.com/jamesgober/mod-cli"
documentation = "https://docs.rs/mod-cli"
authors = [
"James Gober <code@jamesgober.dev>"
]
[package.metadata.docs.rs]
features = ["json-loader", "plugins", "internal-commands", "custom-commands"]
all-features = false
no-default-features = false
[lib]
name = "modcli"
path = "src/lib.rs"
[[bin]]
name = "tool"
path = "bin/tool.rs"
[[bin]]
name = "modcli"
path = "bin/modcli.rs"
[[example]]
name = "demo"
path = "examples/demo.rs"
[features]
default = ["internal-commands", "custom-commands"]
plugins = []
internal-commands = []
custom-commands = []
json-loader = []
[dependencies]
thiserror = "1.0.56"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1.0", features = ["full"] }
once_cell = "1.18"
terminal_size = "0.1"
libloading = "0.7"
rpassword = "7.2.0"
crossterm = { version = "0.27.0", features = ["event-stream"] }
colorgrad = "0.6.0"
colored = "2.1.0"
console = "0.15"
[dev-dependencies]
tokio = { version = "1.0", features = ["rt-multi-thread"] }
once_cell = "1.19"
criterion = { version = "0.5", features = ["html_reports"] }