1use std::path::PathBuf;
4
5use clap::Parser;
6
7#[derive(Debug, Parser)]
9#[command(name = "opi", version, about = "AI coding agent")]
10pub struct Cli {
11 #[arg(short = 'm', long)]
13 pub model: Option<String>,
14
15 #[arg(short = 'c', long)]
17 pub config: Option<PathBuf>,
18
19 #[arg(short = 's', long)]
21 pub system: Option<PathBuf>,
22
23 #[arg(long)]
25 pub non_interactive: bool,
26
27 #[arg(long)]
29 pub allow_mutating: bool,
30
31 #[arg(long)]
33 pub json: bool,
34
35 #[arg(long)]
37 pub list_sessions: bool,
38
39 #[arg(long)]
41 pub resume: Option<String>,
42
43 #[arg(long)]
45 pub delete_session: Option<String>,
46
47 #[arg(short = 'v', long)]
49 pub verbose: bool,
50
51 #[arg(trailing_var_arg = true, allow_hyphen_values = true)]
53 pub prompt: Vec<String>,
54}