XaCLI
A powerful CLI framework for Rust
Build type-safe command-line interfaces with derive macros, interactive components, and shell completion support.
use xacli::derive::{App, Command};
#[derive(App)]
#[app(name = "myapp", version = "1.0.0")]
struct MyApp {
#[command]
greet: GreetCmd,
}
#[derive(Command)]
struct GreetCmd {
#[arg(short, long)]
name: String,
} Everything you need to build powerful CLIs
XaCLI provides a complete toolkit for building production-ready command-line applications.
Derive Macros
Define your CLI structure using Rust structs and enums with powerful derive macros.
Type Safety
Full Rust type safety with compile-time checks and automatic validation.
Interactive Components
Built-in prompts, spinners, progress bars, and selection menus.
Validators
Built-in validators for numbers, strings, and custom validation logic.
Colored Output
Beautiful terminal output with automatic TTY detection and NO_COLOR support.
Testing Framework
Built-in testing utilities with TestingApp, assertions, and JUnit report generation.
Documentation
Everything you need to get started and master XaCLI.
Tutorials
Learning-oriented guides
Guides
How-to guides for common tasks
Reference
Technical API documentation
Explanations
Understand concepts and architecture
Ready to get started?
Install XaCLI and build your first CLI in minutes.
cargo add xacli