mod cli;
mod commands;
mod error;
mod generator;
mod prompts;

use clap::Parser;
use colored::Colorize;

#[tokio::main]
async fn main() {
    // Initialize logging
    tracing_subscriber::fmt::init();

    // Parse CLI arguments
    let cli = cli::Cli::parse();

    // Execute command
    if let Err(e) = cli.execute().await {
        eprintln!("{} {}", "Error:".red().bold(), e);
        std::process::exit(1);
    }
}
