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;