use clap::{Parser, Subcommand};
#[derive(Parser)]
#[command(name = "git-cli", version, about = "Translate natural-language task descriptions into git commands")]
pub struct Cli {
#[command(subcommand)]
pub command: Option<Commands>,
#[arg(value_name = "TASK")]
pub task: Option<String>,
#[arg(short = 'x', long)]
pub execute: bool,
#[arg(long)]
pub force: bool,
#[arg(short, long)]
pub model: Option<String>,
#[arg(short, long)]
pub endpoint: Option<String>,
#[arg(short, long)]
pub verbose: bool,
}
#[derive(Subcommand)]
pub enum Commands {
Config {
#[arg(long)]
model: Option<String>,
#[arg(long)]
endpoint: Option<String>,
},
Examples,
Completions {
#[arg(value_name = "SHELL")]
shell: clap_complete::Shell,
},
}