use clap::{Args, Parser, Subcommand};
#[derive(Parser)]
#[command(name = "elph", about, disable_version_flag = true)]
pub struct Cli {
#[arg(short = 'V', long = "version", help = "Print version information")]
pub version: bool,
#[command(subcommand)]
pub command: Option<Commands>,
}
#[derive(Subcommand)]
pub enum Commands {
Acp,
Completions,
Doctor,
Export,
Import,
Mcp,
Models,
Provider,
Server,
Session,
Stats,
Update(UpdateArgs),
Version,
Worktree,
}
#[derive(Args)]
pub struct UpdateArgs {
#[arg(long)]
pub check: bool,
#[arg(long)]
pub json: bool,
#[arg(long)]
pub force_reinstall: bool,
#[arg(long, value_name = "VERSION")]
pub version: Option<String>,
#[arg(long)]
pub canary: bool,
#[arg(long)]
pub stable: bool,
}