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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
//! # CLI Interface and Task Input Processing
//!
//! Command-line interface for the automatic coding agent, providing both simple
//! task loading and intelligent LLM-based task decomposition.
//!
//! ## Core Components
//!
//! - **[`Args`]**: Command-line argument parsing and validation
//! - **[`TaskLoader`]**: Simple task parsing from files and markdown
//! - **[`IntelligentTaskParser`]**: LLM-powered task decomposition and analysis
//! - **[`ConfigDiscovery`]**: Configuration file discovery and loading
//!
//! ## Key Features
//!
//! ### 🤖 Intelligent Task Parser
//! - **LLM-based decomposition**: Analyzes complex task descriptions and breaks them into structured hierarchies
//! - **Markdown file resolution**: Automatically follows `[text](file.md)` links and includes referenced content
//! - **Detail preservation**: 6 high-level tasks → 42+ detailed subtasks with technical specs
//! - **Dependency mapping**: Automatic TaskId generation and dependency graph construction
//! - **System message support**: Clean instruction separation via `--append-system-prompt`
//!
//! ### 📋 Simple Task Loading
//! - **Multiple input formats**: Files, TOML configs, markdown lists
//! - **Flexible parsing**: Supports various markdown formats and task descriptions
//! - **Fast processing**: Direct parsing without LLM overhead
//!
//! ### ⚙️ Configuration Management
//! - **Auto-discovery**: Finds `.aca.toml` config files in workspace hierarchy
//! - **Default configs**: Sensible defaults for quick start
//! - **Environment integration**: Supports environment variable overrides
//!
//! ## Task Input Modes
//!
//! ### Simple Mode (TaskLoader)
//! Use for straightforward task lists that don't need decomposition:
//! ```markdown
//! # My Tasks
//! - [ ] Task 1: Do something
//! - [ ] Task 2: Do something else
//! ```
//!
//! ### Intelligent Mode (IntelligentTaskParser)
//! Use for complex tasks requiring analysis and breakdown:
//! ```markdown
//! ## Database Migration System
//! → Details: [migration-spec.md](migration-spec.md)
//!
//! Requirements:
//! - PostgreSQL 14+ support
//! - Zero-downtime migrations
//! ```
//!
//! The parser reads linked files and creates detailed execution plans.
//!
//! ## Example Usage
//!
//! ```rust,no_run
//! use aca::cli::{TaskLoader, IntelligentTaskParser, TaskInput};
//! use aca::llm::{ProviderConfig, ClaudeProvider};
//! use std::path::PathBuf;
//!
//! #[tokio::main]
//! async fn main() -> anyhow::Result<()> {
//! // Simple task loading
//! let input = TaskInput::File(PathBuf::from("tasks.md"));
//! let plan = TaskLoader::load_and_convert(input).await?;
//!
//! // Intelligent parsing with LLM
//! let config = ProviderConfig::default(); // Uses Claude Code CLI by default
//! let provider = ClaudeProvider::new(config, PathBuf::from(".")).await?;
//! let parser = IntelligentTaskParser::new(Box::new(provider));
//! let plan = parser.parse_file(PathBuf::from("complex-tasks.md")).await?;
//!
//! Ok(())
//! }
//! ```
pub use ;
pub use ;
pub use ;
pub use ;