arcature-cli 2026.1.0

Developer lifecycle CLI for Arcature applications.
Documentation
use arcature_templates::{Database, Frontend as TemplateFrontend, Preset};

use crate::cli::NewOptions;
use crate::error::CommandError;
use crate::project::Frontend;

pub(crate) fn execute(options: NewOptions) -> Result<(), CommandError> {
    let frontend = match Frontend::from(options.frontend) {
        Frontend::React => TemplateFrontend::React,
        Frontend::Vue => TemplateFrontend::Vue,
    };
    let database = if options.no_db {
        Database::Disabled
    } else {
        Database::Enabled
    };
    let preset = Preset::new(frontend, database);
    arcature_templates::generate(&options.destination, preset)?;
    println!("created {}", options.destination.display());
    println!(
        "next: cd {} && pnpm --dir frontend install",
        options.destination.display()
    );
    Ok(())
}