Skip to main content

greentic_flow_builder/
cli.rs

1use clap::{Args, Parser, Subcommand};
2
3#[derive(Parser)]
4#[command(name = "greentic-flow-builder")]
5#[command(version)]
6#[command(
7    about = "Greentic Flow Builder — orchestrator + web UI for LLM-driven Adaptive Card design",
8    long_about = None
9)]
10pub struct Cli {
11    #[command(subcommand)]
12    pub command: Commands,
13}
14
15#[derive(Subcommand)]
16pub enum Commands {
17    /// Launch the web UI with LLM-powered card generation.
18    Ui(UiArgs),
19}
20
21#[derive(Args, Debug)]
22pub struct UiArgs {
23    /// OpenAI API key for LLM-powered card generation.
24    #[arg(long, env = "OPENAI_API_KEY")]
25    pub openai_api_key: String,
26
27    /// Port to listen on (default: random available port).
28    #[arg(long)]
29    pub port: Option<u16>,
30
31    /// OpenAI model to use.
32    #[arg(long, default_value = "gpt-4o-mini")]
33    pub model: String,
34}