use clap::{Parser, Subcommand};
#[derive(Parser)]
#[command(name = "meta")]
#[command(about = "Meta task orchestrator for monorepos", long_about = None)]
#[command(version)]
pub struct Cli {
#[command(subcommand)]
pub command: Commands,
}
#[derive(Subcommand)]
pub enum Commands {
Init {
#[arg(long = "no-mcp")]
no_mcp: bool,
},
Dev {
#[arg(short, long)]
projects: Option<Vec<String>>,
#[arg(short, long)]
detach: bool,
},
#[command(name = "dev:stop")]
DevStop,
Status {
#[arg(short, long)]
project: Option<String>,
#[arg(short, long, default_value = "20")]
lines: usize,
#[arg(long)]
json: bool,
},
Build {
#[arg(long)]
prod: bool,
#[arg(short, long)]
projects: Option<Vec<String>>,
},
Test {
#[arg(short, long)]
watch: bool,
},
Run {
task: String,
#[arg(short, long)]
projects: Option<Vec<String>>,
},
Doctor,
Logs {
project: Option<String>,
#[arg(short, long)]
follow: bool,
#[arg(short, long, default_value = "50")]
lines: usize,
},
Sessions,
}