mecha10-cli 0.9.0

Mecha10 CLI tool
Documentation
//! `mecha10 model` command arguments.
//!
//! Unifies the former catalog-facing `models` and registry-facing `model` verbs
//! into a single `mecha10 model <subcommand>` surface.

use clap::Subcommand;

#[derive(Subcommand, Debug)]
pub enum ModelCommand {
    List {
        #[arg(short, long)]
        verbose: bool,

        #[arg(short, long)]
        recommended: bool,
    },

    Pull {
        name: Option<String>,

        #[arg(long, conflicts_with = "full_catalog")]
        all: bool,

        #[arg(long, conflicts_with = "all")]
        full_catalog: bool,

        #[arg(long, requires = "file")]
        repo: Option<String>,

        #[arg(long, requires = "repo")]
        file: Option<String>,

        #[arg(long, requires = "repo")]
        custom_name: Option<String>,
    },

    Installed {
        #[arg(short, long)]
        verbose: bool,
    },

    Remove {
        name: String,

        #[arg(short = 'y', long)]
        yes: bool,
    },

    Info {
        name: String,

        #[arg(long)]
        version: Option<i32>,
    },

    Set {
        node: String,

        #[arg(long)]
        model: String,

        #[arg(long)]
        version: Option<i32>,
    },
}