mecha10-cli 0.1.47

Mecha10 CLI tool
Documentation
//! Upload command arguments

use clap::Args;
use std::path::PathBuf;

/// Arguments for the upload command
#[derive(Args, Debug)]
pub struct UploadArgs {
    /// Path to binary (default: dist/{project_name})
    #[arg(short, long)]
    pub binary: Option<PathBuf>,

    /// Path to mecha10.json config (default: dist/mecha10.json)
    #[arg(short, long)]
    pub config: Option<PathBuf>,

    /// Binary registry URL (default: {control_plane_url}/api/binaries from mecha10.json)
    #[arg(short, long)]
    pub registry_url: Option<String>,

    /// Version string (default: from mecha10.json)
    #[arg(short, long)]
    pub version: Option<String>,

    /// Target architecture (default: detected from binary or x86_64)
    #[arg(short, long)]
    pub arch: Option<String>,

    /// Build target: "robot" for on-robot binaries, "remote" for cloud binaries
    /// (default: auto-detected from dist/mecha10.json, or "robot" if not found)
    #[arg(short, long)]
    pub target: Option<String>,

    /// Show what would be uploaded without actually uploading
    #[arg(long)]
    pub dry_run: bool,
}