Skip to main content

vtcode_core/cli/args/
models.rs

1use clap::Subcommand;
2
3/// Model management commands with concise, actionable help
4#[derive(Subcommand, Debug, Clone)]
5pub enum ModelCommands {
6    /// List all providers and models with status indicators
7    List,
8
9    /// Set default provider (gemini, openai, anthropic, deepseek, meta, openrouter, merge-gateway)
10    #[command(name = "set-provider")]
11    SetProvider {
12        /// Provider name to set as default
13        provider: String,
14    },
15
16    /// Set default model (e.g., deepseek-reasoner, gpt-5, claude-sonnet-4-6)
17    #[command(name = "set-model")]
18    SetModel {
19        /// Model name to set as default
20        model: String,
21    },
22
23    /// Configure provider settings (API keys, base URLs, models)
24    Config {
25        /// Provider name to configure
26        provider: String,
27
28        /// API key for the provider
29        #[arg(long)]
30        api_key: Option<String>,
31
32        /// Base URL for local providers
33        #[arg(long)]
34        base_url: Option<String>,
35
36        /// Default model for this provider
37        #[arg(long)]
38        model: Option<String>,
39    },
40
41    /// Test provider connectivity and validate configuration
42    Test {
43        /// Provider name to test
44        provider: String,
45    },
46
47    /// Compare model performance across providers (coming soon)
48    Compare,
49
50    /// Show detailed model information and specifications
51    Info {
52        /// Model name to get information about
53        model: String,
54    },
55}