mod chat;
mod claude;
pub use chat::{run_chat, ChatCommand};
pub use claude::skills::{run_clean, run_status, run_sync, OutputFormat, SkillsFormat};
use anyhow::Result;
use clap::{Parser, Subcommand};
#[derive(Parser)]
pub struct AiCommand {
#[command(subcommand)]
pub command: AiSubcommands,
}
#[derive(Subcommand)]
pub enum AiSubcommands {
Chat(ChatCommand),
Claude(claude::ClaudeCommand),
}
impl AiCommand {
pub async fn execute(self) -> Result<()> {
match self.command {
AiSubcommands::Chat(cmd) => cmd.execute().await,
AiSubcommands::Claude(cmd) => cmd.execute(),
}
}
}