use clap::{Parser, Subcommand};
#[derive(Parser, Debug)]
#[command(name = "doum-cli")]
#[command(author = "junhyungL")]
#[command(version = "0.3.2")]
#[command(about = "AI-powered terminal assistant - Ask about OS commands", long_about = None)]
pub struct Cli {
#[command(subcommand)]
pub command: Option<Commands>,
#[arg(value_name = "INPUT")]
pub input: Option<String>,
}
#[derive(Subcommand, Debug)]
pub enum Commands {
Config {
#[command(subcommand)]
action: Option<ConfigAction>,
},
Secret,
Switch,
Ask {
question: String,
},
Suggest {
request: String,
},
}
#[derive(Subcommand, Debug)]
pub enum ConfigAction {
Show,
Reset,
Set {
key: String,
value: String,
},
Get {
key: String,
},
Unset {
key: String,
},
}