1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//! XaCLI - A modern, developer-friendly CLI framework for Rust
//!
//! This crate serves as a facade for the xacli ecosystem, re-exporting functionality
//! from:
//! - `xacli-core`: Core command parsing and execution
//! - `xacli-components`: Interactive terminal components (feature: `components`)
//! - `xacli-derive`: Derive macros for CLI apps (feature: `derive`)
//! - `xacli-testing`: Testing utilities (feature: `testing`)
//!
//! # Example
//!
//! ```rust,ignore
//! use xacli::{App, Command, Arg};
//!
//! App::new("myapp", "1.0.0")
//! .command(
//! Command::new("greet")
//! .description("Greet someone")
//! .run(Box::new(|ctx| {
//! println!("Hello!");
//! Ok(())
//! }))
//! )
//! .execute()?;
//! ```
//!
//! # Features
//!
//! - `components`: Interactive terminal components (input, select, confirm, etc.)
//! - `derive`: Derive macros (`#[derive(App)]`, `#[derive(Command)]`)
//! - `testing`: Testing utilities for CLI apps
//! - `cli`: CLI binary tooling (includes `derive` and `testing`)
//!
//! # Installation
//!
//! As a library:
//! ```bash
//! cargo add xacli
//! cargo add xacli --features derive
//! cargo add xacli --features components
//! ```
//!
//! As a CLI tool:
//! ```bash
//! cargo install xacli --features cli
//! ```
// Re-export core functionality directly
pub use *;
// Re-export components module
// Re-export derive macros
// Re-export testing utilities