use clap::{Parser, Subcommand, ValueEnum};
use super::kimi_native_cmd;
use super::{
ask, autopilot, backup, cleanup, config_cmd, cost_cmd, doctor, goal, hud, logs, marketplace,
proof_cmd, ralph, run_cmd, skill, state, team, ultrawork,
};
mod mcp_cmd;
mod run;
mod setup;
mod update;
pub use run::run;
#[derive(Parser, Debug)]
#[command(name = "omk")]
#[command(about = "Scheduler-backed team orchestration and Kimi asset tooling")]
#[command(version = env!("CARGO_PKG_VERSION"))]
pub struct Omk {
#[command(subcommand)]
pub command: Option<Commands>,
#[arg(short, long, global = true)]
verbose: bool,
}
#[derive(Subcommand, Debug)]
pub enum Commands {
#[command(visible_alias = "c")]
Chat(crate::cli::chat::run::ChatArgs),
#[command(visible_alias = "t")]
Team(team::Args),
#[command(visible_alias = "ap")]
Autopilot(autopilot::Args),
#[command(visible_alias = "r")]
Ralph(ralph::Args),
Ask(ask::Args),
Hud(hud::Args),
Setup,
Update(UpdateArgs),
#[command(name = "mcp")]
Mcp(mcp_cmd::Args),
McpServer,
Completions(CompletionsArgs),
Logs(logs::Args),
Man,
Doctor(doctor::Args),
Cleanup(cleanup::Args),
Config(config_cmd::Args),
Backup(backup::Args),
State(state::Args),
#[command(visible_alias = "s")]
Skill(skill::Args),
#[command(visible_alias = "m")]
Marketplace(marketplace::Args),
Cost(cost_cmd::Args),
Goal(goal::Args),
#[command(visible_alias = "uw")]
Ultrawork(ultrawork::Args),
#[command(name = "kimi", visible_alias = "k")]
KimiNative(kimi_native_cmd::KimiNativeArgs),
Run(run_cmd::Args),
Proof(proof_cmd::Args),
Version,
}
#[derive(Parser, Debug)]
pub struct UpdateArgs {
#[arg(long)]
check: bool,
}
#[derive(Parser, Debug)]
pub struct CompletionsArgs {
#[arg(value_enum)]
shell: ShellArg,
}
#[derive(Clone, Debug, ValueEnum)]
pub enum ShellArg {
Bash,
Zsh,
Fish,
Elvish,
PowerShell,
}