Skip to main content

autom8/output/
mod.rs

1//! Terminal output formatting for autom8.
2//!
3//! This module provides consistent, colored terminal output for all
4//! CLI operations. Functions are organized by domain:
5//!
6//! - [`banner`] - Phase banners and footers
7//! - [`messages`] - Error, warning, and info messages
8//! - [`header`] - Session headers and iteration display
9//! - [`pr`] - Pull request operation output
10//! - [`pr_review`] - PR review workflow output
11//! - [`status`] - Project and run status display
12//! - [`progress`] - Progress bars and summaries
13//! - [`error`] - Error panels with detailed formatting
14
15pub mod banner;
16pub mod error;
17pub mod header;
18pub mod improve;
19pub mod messages;
20pub mod pr;
21pub mod pr_review;
22pub mod progress;
23pub mod status;
24
25/// ANSI color codes for terminal output.
26pub mod colors {
27    pub const RESET: &str = "\x1b[0m";
28    pub const BOLD: &str = "\x1b[1m";
29    pub const DIM: &str = "\x1b[2m";
30    pub const GREEN: &str = "\x1b[32m";
31    pub const YELLOW: &str = "\x1b[33m";
32    pub const BLUE: &str = "\x1b[34m";
33    pub const CYAN: &str = "\x1b[36m";
34    pub const RED: &str = "\x1b[31m";
35    pub const GRAY: &str = "\x1b[90m";
36}
37
38// Re-export colors at module level for convenience
39pub use colors::*;
40
41// Re-export all public items for backward compatibility
42pub use banner::{print_phase_banner, print_phase_footer, BannerColor};
43pub use error::{print_error_panel, ErrorDetails};
44pub use header::{
45    print_claude_output, print_generating_spec, print_header, print_iteration_complete,
46    print_iteration_start, print_proceeding_to_implementation, print_project_info,
47    print_spec_generated, print_spec_loaded, print_state_transition,
48};
49pub use improve::{
50    print_branch_info, print_context_banner, print_context_summary, print_files_changed_summary,
51    print_git_history_summary, print_session_knowledge_info, print_spawning_claude,
52    print_spec_info,
53};
54pub use messages::{
55    print_error, print_info, print_interrupted, print_resuming_interrupted, print_warning,
56    print_worktree_context, print_worktree_created, print_worktree_reused,
57};
58pub use pr::{
59    format_pr_for_selection, print_branch_switched, print_no_open_prs, print_pr_already_exists,
60    print_pr_detected, print_pr_skipped, print_pr_success, print_pr_updated,
61    print_push_already_up_to_date, print_push_success, print_pushing_branch,
62    print_switching_branch,
63};
64pub use pr_review::{
65    print_no_unresolved_comments, print_pr_comment, print_pr_comments_list, print_pr_commit_error,
66    print_pr_commit_skipped_config, print_pr_commit_success, print_pr_context_error,
67    print_pr_context_summary, print_pr_no_commit_no_fixes, print_pr_push_error,
68    print_pr_push_skipped_config, print_pr_push_success, print_pr_push_up_to_date,
69    print_pr_review_actions_summary, print_pr_review_complete_with_fixes, print_pr_review_error,
70    print_pr_review_no_fixes_needed, print_pr_review_spawning, print_pr_review_start,
71    print_pr_review_streaming, print_pr_review_streaming_done, print_pr_review_summary,
72};
73pub use progress::{
74    make_progress_bar, print_all_complete, print_breadcrumb_trail, print_full_progress,
75    print_issues_found, print_max_review_iterations, print_review_passed, print_review_progress,
76    print_reviewing, print_run_completed, print_run_summary, print_skip_review,
77    print_story_complete, print_tasks_progress, StoryResult,
78};
79pub use status::{
80    print_branch_context_summary, print_commit_list, print_global_status, print_history_entry,
81    print_missing_spec_warning, print_project_description, print_project_tree,
82    print_sessions_status, print_status,
83};