//! Init command arguments

use clap::Args;

/// Initialize a new robot project
#[derive(Args, Debug)]
pub struct InitArgs {
    /// Project name (if not provided, will prompt interactively)
    pub name: Option<String>,

    /// Template to use (basic, rover, arm, humanoid). If not provided, will prompt interactively
    #[arg(short, long)]
    pub template: Option<String>,

    /// Skip simulation generation
    #[arg(long)]
    pub skip_sim: bool,

    /// Skip adding example nodes (speaker, listener) to the project
    #[arg(long)]
    pub no_examples: bool,

    /// Setup for framework development (creates .cargo/config.toml pointing to local framework)
    #[arg(long)]
    pub dev: bool,

    /// Skip interactive wizard and use defaults/provided arguments
    #[arg(long)]
    pub non_interactive: bool,
}
