dot/cli.rs
1use clap::{Parser, Subcommand};
2
3#[derive(Parser)]
4#[command(name = "dot", about = "minimal ai agent")]
5pub struct Cli {
6 #[command(subcommand)]
7 pub command: Option<Commands>,
8
9 #[arg(
10 short = 's',
11 long = "session",
12 help = "resume a previous session by id"
13 )]
14 pub session: Option<String>,
15}
16
17#[derive(Subcommand)]
18pub enum Commands {
19 Login,
20 Config,
21 /// List configured MCP servers and their tools
22 Mcp,
23 /// List installed extensions
24 Extensions,
25 /// Install an extension from a git URL
26 Install {
27 /// Git URL or local path to the extension
28 source: String,
29 },
30 /// Uninstall an extension by name
31 Uninstall {
32 /// Name of the extension to remove
33 name: String,
34 },
35}