use clap::Parser;
#[derive(Parser, Debug)]
#[command(name = "consta", about = "Git contribution statistics tool")]
pub struct Args {
#[arg(short, long, help = "Filter commits by author name or email")]
pub author: String,
#[arg(long, help = "Show commits after this date (e.g. 2026-01-01)")]
pub since: Option<String>,
#[arg(long, help = "Show commits before this date")]
pub until: Option<String>,
#[arg(long, help = "Show commit breakdown")]
pub breakdown: bool,
#[arg(required = true, help = "Paths to git repositories or enclosing directories")]
pub repos: Vec<std::path::PathBuf>,
#[arg(long, help = "Show activity grid for a specific year")]
pub grid: Option<i32>,
#[arg(long, num_args = 0..=1, default_missing_value = "3", help = "Discover repos in subdirectories [default depth: 3]")]
pub recursive: Option<i32>,
#[arg(long, help = "Print debug information")]
pub debug: bool,
}