pray-cli 1.14.0

Package manager for the language placed before inference — Prayfile CLI (binary: pray)
use std::path::PathBuf;

pub(crate) enum Command {
    Manifest,
    Init {
        targets: Vec<String>,
    },
    PrayerInit,
    RepoInit,
    Install {
        locked: bool,
        frozen: bool,
        offline: bool,
        strict: bool,
    },
    Add {
        name: String,
        constraint: Option<String>,
        path: Option<String>,
    },
    Remove {
        name: String,
    },
    Update {
        package: Option<String>,
        major: bool,
        latest: bool,
        dry_run: bool,
        json: bool,
    },
    Unlock {
        package: String,
    },
    Render {
        check: bool,
    },
    Plan {
        remote: bool,
    },
    Apply,
    Verify {
        strict: bool,
    },
    Drift {
        semantic: bool,
    },
    Format,
    Package,
    Publish {
        roots: Vec<PathBuf>,
        servers: Vec<String>,
        signing_key: Option<PathBuf>,
    },
    Yank {
        package: String,
        version: String,
        root: PathBuf,
        undo: bool,
    },
    #[cfg(feature = "auth")]
    Token {
        arguments: Vec<String>,
    },
    Search {
        query: String,
        source: Option<String>,
        root: Option<PathBuf>,
        url: Option<String>,
    },
    Login {
        servers: Vec<String>,
        email: String,
        credential_id: Option<String>,
        passkey_key: Option<PathBuf>,
        public_key: Option<PathBuf>,
        ssh_agent: bool,
    },
    #[cfg(feature = "auth")]
    Serve {
        root: PathBuf,
        host: String,
        port: u16,
        stdio: bool,
        allow_open_push: bool,
    },
    Confess {
        package: Option<String>,
        from_lock: Option<String>,
        version: Option<String>,
        accepted: bool,
        rejected: bool,
        note: Option<String>,
        url: Option<String>,
    },
    List,
    Outdated {
        remote: bool,
    },
    Explain {
        package: String,
    },
    Vendor,
    Clean {
        unused: bool,
    },
    Tree,
    Sync {
        root: PathBuf,
        peers: Vec<String>,
    },
    Trust {
        arguments: Vec<String>,
    },
    Upgrade,
    Version,
    Completion {
        shell: String,
    },
}