rivox 1.0.0

Universal polyglot build coordination layer for Python, Rust, and Node monorepos
Documentation
pub mod build;
pub mod cache;
pub mod graph;
pub mod oci;
pub mod policy;
pub mod remote;
pub mod verify;

use clap::{Parser, Subcommand, ValueEnum};

#[derive(Parser, Debug)]
#[command(
    name = "rivox",
    author = "Aaryan Rawat <aaryan28rwt@gmail.com>",
    version = "1.0.0",
    about = "Universal polyglot build coordination layer for Python, Rust, Node, Go, and Java",
    long_about = "Rivox coordinates native ecosystem resolvers (uv, cargo, pnpm, go, gradle) to construct a unified DAG, manage content-addressed build caches, and emit supply-chain provenance."
)]
pub struct Cli {
    #[command(subcommand)]
    pub command: Commands,

    /// Verbose output logging
    #[arg(short, long, global = true)]
    pub verbose: bool,
}

#[derive(Subcommand, Debug)]
pub enum Commands {
    /// Coordinate and execute build across declared monorepo ecosystems
    Build(build::BuildArgs),

    /// Manage and inspect Content-Addressed Storage (CAS) cache
    Cache(cache::CacheArgs),

    /// Perform graph analysis, diffing, and transitive closure inspection
    Graph(graph::GraphArgs),

    /// Export build artifacts to deterministic OCI image format
    Oci(oci::OciArgs),

    /// Inspect and evaluate deterministic security and organization policies
    Policy(policy::PolicyArgs),

    /// Execute build steps on REAPI v2 remote execution workers
    Remote(remote::RemoteArgs),

    /// Verify rivox.lock hashes, native lockfile parity, and provenance signatures
    Verify(verify::VerifyArgs),

    /// Run internal performance benchmarks across graph, CAS, and scheduler
    Benchmark,

    /// Generate shell completion scripts (bash, zsh, fish, powershell, elvish)
    Completions {
        /// Target shell
        #[arg(value_enum)]
        shell: Shell,
    },
}

#[derive(ValueEnum, Clone, Copy, Debug)]
#[allow(clippy::enum_variant_names)]
pub enum Shell {
    Bash,
    Zsh,
    Fish,
    PowerShell,
    Elvish,
}