use clap::Args;

// init命令的参数
/// AUTO-GENERATED BY Kam/scripts/add_missing_docs.py: placeholder documentation for public struct 'InitArgs'. Replace with real documentation. (2025-12-30T22:23:21Z)
#[derive(Args, Debug)]
pub struct InitArgs {
    // 项目路径
    // 交互模式下可以省略，会提示用户输入
    #[arg(value_name = "PATH", required_unless_present = "interactive")]
    /// AUTO-GENERATED BY Kam/scripts/add_missing_docs.py: placeholder documentation for public field 'name' in 'InitArgs'. Replace with real documentation. (2025-12-30T22:23:21Z)
    pub name: Option<String>,

    // 项目ID（默认：文件夹名）
    #[arg(long)]
    /// AUTO-GENERATED BY Kam/scripts/add_missing_docs.py: placeholder documentation for public field 'id' in 'InitArgs'. Replace with real documentation. (2025-12-30T22:23:21Z)
    pub id: Option<String>,

    // 项目名称（默认："Example Module Name"）
    #[arg(long)]
    /// AUTO-GENERATED BY Kam/scripts/add_missing_docs.py: placeholder documentation for public field 'project_name' in 'InitArgs'. Replace with real documentation. (2025-12-30T22:23:21Z)
    pub project_name: Option<String>,

    // 项目版本（默认："1.0.0"）
    #[arg(long)]
    /// AUTO-GENERATED BY Kam/scripts/add_missing_docs.py: placeholder documentation for public field 'version' in 'InitArgs'. Replace with real documentation. (2025-12-30T22:23:21Z)
    pub version: Option<String>,

    // 作者名字（默认："Your Name"）
    #[arg(long)]
    /// AUTO-GENERATED BY Kam/scripts/add_missing_docs.py: placeholder documentation for public field 'author' in 'InitArgs'. Replace with real documentation. (2025-12-30T22:23:21Z)
    pub author: Option<String>,

    // Update JSON URL（默认：从git自动生成）
    #[arg(long)]
    /// AUTO-GENERATED BY Kam/scripts/add_missing_docs.py: placeholder documentation for public field 'update_json' in 'InitArgs'. Replace with real documentation. (2025-12-30T22:23:21Z)
    pub update_json: Option<String>,

    // 描述（默认："Describe your module here"）
    #[arg(long)]
    /// AUTO-GENERATED BY Kam/scripts/add_missing_docs.py: placeholder documentation for public field 'description' in 'InitArgs'. Replace with real documentation. (2025-12-30T22:23:21Z)
    pub description: Option<String>,

    // 强制覆盖已存在的文件
    #[arg(short, long)]
    /// AUTO-GENERATED BY Kam/scripts/add_missing_docs.py: placeholder documentation for public field 'force' in 'InitArgs'. Replace with real documentation. (2025-12-30T22:23:21Z)
    pub force: bool,

    // 交互模式运行，会询问必需的值
    #[arg(short = 'i', long = "interactive")]
    /// AUTO-GENERATED BY Kam/scripts/add_missing_docs.py: placeholder documentation for public field 'interactive' in 'InitArgs'. Replace with real documentation. (2025-12-30T22:23:21Z)
    pub interactive: bool,

    // 已废弃：实现模板源（本地路径、URL或git仓库）
    // 注意：这个选项已经从CLI移除了，用-t/--template和--tmpl来选择内置模板
    /// Deprecated: previously provided `--impl` option (kept only for backward compatibility).
    /// This field is ignored by the current CLI implementation.
    #[arg(skip)]
    pub r#impl: Option<String>,

    // 模板变量，key=value格式
    #[arg(long)]
    /// AUTO-GENERATED BY Kam/scripts/add_missing_docs.py: placeholder documentation for public field 'var' in 'InitArgs'. Replace with real documentation. (2025-12-30T22:23:21Z)
    pub var: Vec<String>,

    // 要使用的模板（内置ID或本地路径）
    #[arg(short, long)]
    /// AUTO-GENERATED BY Kam/scripts/add_missing_docs.py: placeholder documentation for public field 'template' in 'InitArgs'. Replace with real documentation. (2025-12-30T22:23:21Z)
    pub template: Option<String>,

    // 创建模板项目
    // 模板ID："tmpl_template"
    #[arg(long)]
    /// AUTO-GENERATED BY Kam/scripts/add_missing_docs.py: placeholder documentation for public field 'tmpl' in 'InitArgs'. Replace with real documentation. (2025-12-30T22:23:21Z)
    pub tmpl: bool,
}
