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
//! CLI module for Paladin
//!
//! This module provides the command-line interface for the Paladin framework,
//! including interactive wizards, setup validation, and rich terminal output.
//!
//! # Module Organization
//!
//! The CLI has been consolidated into `src/application/cli/` following hexagonal
//! architecture principles. All CLI functionality is now part of the application
//! layer, with clear separation from domain logic and infrastructure adapters.
//!
//! ## Submodules
//!
//! - `commands`: Command implementations (agent, arsenal, battalion, maneuver, etc.)
//! - `config`: Configuration loading and validation
//! - `error`: Unified error handling with `CliError` and `CliResult`
//! - `formatters`: Output formatting (JSON, Markdown, tables)
//! - `interactive`: Interactive prompts and TTY utilities
//! - `templates`: File templates for scaffolding
//!
//! ## Migration Note
//!
//! Previously, CLI code was split between `src/cli/` (old implementation) and
//! `src/application/cli/` (Epic 18 foundation). As of Epic 17.5, all CLI code
//! has been consolidated into `src/application/cli/` with a unified error type.
//!
//! ## Usage
//!
//! ```rust
//! use paladin::application::cli::{CliError, CliResult};
//! use paladin::application::cli::commands::agent;
//!
//! async fn run_agent_command() -> CliResult<()> {
//! // Your CLI logic here
//! Ok(())
//! }
//! ```
// Implementation details
pub use ;