1use clap::Parser;
2use std::path::PathBuf;
3
4#[derive(Parser, Debug)]
5#[command(author, version, about, long_about = None)]
6pub struct Cli {
7 #[arg(short, long, default_value_t = 3000)]
9 pub port: u16,
10
11 #[arg(short, long, default_value = "../codebridge-workspace")]
13 pub workspace: PathBuf,
14
15 #[arg(long, default_value = "auto")]
17 pub build_command: String,
18
19 #[arg(long, value_delimiter = ',', default_value = "npm,cargo,python")]
21 pub allowed_commands: Vec<String>,
22
23 #[arg(long, default_value_t = false)]
25 pub enable_script_execution: bool,
26
27 #[arg(long, value_delimiter = ',', default_value = "deno,python,bash")]
29 pub script_languages: Vec<String>,
30
31 #[arg(long, default_value_t = 30)]
33 pub script_timeout: u64,
34
35 #[arg(long, default_value_t = false)]
37 pub script_enable_network: bool,
38
39 #[arg(long, default_value_t = true)]
41 pub enable_worktrees: bool,
42}