pub mod cli_args;
pub mod config;
pub mod git;
pub mod llm;
pub mod logging;
pub mod setup;
pub use cli_args::{Cli, Command};
pub use git::{
collect_pr_items, current_branch, format_pr_commit_appendix, split_diff_by_file, stage_all,
staged_diff_for_file, staged_files, PrSummaryMode,
};
pub use llm::LlmClient;
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
pub enum FileCategory {
Main, Supporting, Consequence, Ignored, }
impl FileCategory {
pub fn as_str(&self) -> &'static str {
match self {
FileCategory::Main => "main",
FileCategory::Supporting => "supporting",
FileCategory::Consequence => "consequence",
FileCategory::Ignored => "ignored",
}
}
}
#[derive(Debug, Clone)]
pub struct FileChange {
pub path: String,
pub category: FileCategory,
pub diff: String,
pub summary: Option<String>,
}