Skip to main content

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}