use clap::{Args, Parser, Subcommand};
use std::path::PathBuf;
#[derive(Parser)]
#[command(name = "greentic-designer")]
#[command(version)]
#[command(
about = "Greentic Designer — orchestrator + web UI for LLM-driven Adaptive Card design",
long_about = None
)]
pub struct Cli {
#[command(subcommand)]
pub command: Commands,
}
#[derive(Subcommand)]
pub enum Commands {
Ui(UiArgs),
}
#[derive(Args, Debug)]
pub struct UiArgs {
#[arg(long, default_value = "openai")]
pub provider: Provider,
#[arg(long, env = "OPENAI_API_KEY")]
pub openai_api_key: Option<String>,
#[arg(long, env = "ANTHROPIC_API_KEY")]
pub anthropic_api_key: Option<String>,
#[arg(long)]
pub port: Option<u16>,
#[arg(long)]
pub model: Option<String>,
#[arg(long, default_value = "./greentic-designer-data")]
pub storage_dir: PathBuf,
}
#[derive(Clone, Debug, clap::ValueEnum)]
pub enum Provider {
Openai,
Anthropic,
}