use clap::{Parser, Subcommand};
#[derive(Parser)]
#[command(name = "opencode-multi")]
#[command(about = "Multi-profile manager for OpenCode")]
#[command(version = "0.2.1")]
pub struct Cli {
#[command(subcommand)]
pub command: Commands,
}
#[derive(Subcommand)]
pub enum Commands {
Create {
name: String,
#[arg(long, help = "Initialize from existing OpenCode configuration")]
init: bool,
},
List,
Show { name: String },
Run {
name: String,
#[arg(trailing_var_arg = true, allow_hyphen_values = true)]
opencode_args: Vec<String>,
},
Clone { source: String, destination: String },
Remove {
name: String,
#[arg(long, help = "Skip confirmation prompt")]
yes: bool,
},
Doctor,
}