quick-arch 0.1.0

powerful CLI tool built in Rust that automates project scaffolding using JSON templates. Generate complete project structures with conditional features in seconds!
use anyhow::Result;
use clap::Parser;
mod cli;
mod config;
mod evaluator;
mod generator;
mod ui;
use cli::Cli;
use generator::ProjectGenerator;

fn main() -> Result<()> {
    let start_time = std::time::Instant::now();

    ui::print_header();

    let args = Cli::parse();
    args.validate_config_exists()?;

    let mut generator = ProjectGenerator::new(&args.config)?;

    let stats = generator.generate(args.output.as_deref())?;

    if let Some(ref scripts) = stats.scripts_to_run {
        ui::print_section("Running Post-Creation Scripts");
        generator.execute_scripts(scripts)?;
    }

    let duration = start_time.elapsed();
    ui::print_summary(&stats, duration);

    Ok(())
}