distributed_cli 4.0.0

The `distributed` CLI for Distributed applications: contracts check/accept, scaffold projects, describe manifests, compile clients, and render schema artifacts. Also a library so other CLIs (e.g. hops) can mount its commands.
Documentation
use clap::Parser;
use distributed_cli::DistributedArgs;

/// The `distributed` CLI: contracts lifecycle, scaffold, client compile,
/// describe manifests, and render schema artifacts.
#[derive(Parser, Debug)]
#[command(name = "distributed", version, about, long_about = None)]
struct Cli {
    #[command(flatten)]
    args: DistributedArgs,
}

fn main() {
    let cli = Cli::parse();
    if let Err(err) = distributed_cli::run_distributed(&cli.args) {
        eprintln!("error: {err}");
        std::process::exit(1);
    }
}