use clap::{Parser, Subcommand};
#[derive(Debug, Parser)]
#[command(author, version, about, long_about = None)]
pub struct Opts {
#[command(subcommand)]
pub command: Option<AppCommand>,
}
#[derive(Debug, Subcommand)]
pub enum AppCommand {
Clean,
Update(UpdateCommand),
Upgrade(UpdateCommand),
Workbench,
Mcp {
#[arg(trailing_var_arg = true, allow_hyphen_values = true)]
args: Vec<String>,
},
}
#[derive(Debug, Parser, Clone)]
pub struct UpdateCommand {
#[clap(long, short)]
pub system: Option<String>,
}