Skip to main content

robson_cli/
cli.rs

1use clap::{Parser, Subcommand};
2
3#[derive(Parser, Debug)]
4#[command(
5    name = "robson",
6    about = "Jira → Branch → PR → Slack agent orchestrator"
7)]
8pub struct Cli {
9    #[command(subcommand)]
10    pub command: Commands,
11}
12
13#[derive(Subcommand, Debug)]
14pub enum Commands {
15    /// Run migrations for the core database (agent entities)
16    MigrateCore,
17    /// Run migrations for the workflow database (tasks and repos)
18    MigrateWorkflow,
19    /// Start the SensoriumLoop (Slack by default, or --tui for terminal)
20    Agent {
21        /// Use the terminal (stdin/stdout) gateway instead of Slack
22        #[arg(long, default_value_t = false)]
23        tui: bool,
24    },
25}
26
27#[cfg(test)]
28#[path = "cli_tests.rs"]
29mod cli_tests;