Expand description
§cli-battery-pack
A battery pack containing crates commonly needed when building command-line applications in Rust.
§Quick start
cargo bp add cliThen in your code:
ⓘ
use cli::{clap::Parser, anyhow::Result};
#[derive(Parser)]
struct Args {
name: String,
}
fn main() -> Result<()> {
let args = Args::parse();
println!("Hello, {}!", args.name);
Ok(())
}§Included crates
anyhow— Flexible concrete Error type built on std::error::Error (viaerror_battery_pack)clap— A simple to use, efficient, and full-featured Command Line Argument Parserconsole— A terminal and console abstraction for Rustdialoguer— A command line prompting library.ignore— A fast library for efficiently matching ignore files such as.gitignoreindicatif— A progress bar and cli reporting library for Rustregex— An implementation of regular expressions for Rust. This implementation usesthiserror— derive(Error) (viaerror_battery_pack)tracing— Application-level tracing for Rust. (vialogging_battery_pack)tracing_subscriber— Utilities for implementing and composingtracingsubscribers. (vialogging_battery_pack)
§Examples
- mini-grep — A minimal ripgrep-like tool demonstrating cli-battery-pack.
§Templates
cargo bp new cli --template simple— Minimal CLI with argument parsingcargo bp new cli --template subcmds— CLI with subcommands