v0.2.0 — Now Available

XaCLI

A powerful CLI framework for Rust

Build type-safe command-line interfaces with derive macros, interactive components, and shell completion support.

main.rs
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