knowledge 0.11.0

The launcher and updater for the Knowledge.Dev MCP binary
Documentation
use clap::{Parser, Subcommand};

#[derive(Debug, Parser)]
#[command(author, version, about, long_about = None)]
pub struct Opts {
    #[command(subcommand)]
    pub command: Option<AppCommand>,
}

#[derive(Debug, Subcommand)]
pub enum AppCommand {
    /// Removes the cache folder
    Clean,
    /// Updates binaries to newer versions (skips if already up to date)
    Update(UpdateCommand),
    /// Re-downloads binaries regardless of the current version
    Upgrade(UpdateCommand),
    /// Launches the workbench application
    Workbench,
    /// Passes all following arguments to the downloaded mcp binary
    Mcp {
        #[arg(trailing_var_arg = true, allow_hyphen_values = true)]
        args: Vec<String>,
    },
}

#[derive(Debug, Parser, Clone)]
pub struct UpdateCommand {
    /// Override an operating system of downloading assets
    #[clap(long, short)]
    pub system: Option<String>,
}