trustblock-cli 0.9.1

human-friendly console utility that helps to interact with Trustblock from command line.
Documentation
use clap::Parser;
use trustblock_cli::{
    cmd::{
        block_on, check_update,
        trustblock::{Cli, Commands},
        Cmd,
    },
    constants::CLI_PATH,
    error_handler,
};

fn main() -> eyre::Result<()> {
    error_handler::install()?;
    let cli = Cli::parse();

    block_on(check_update())?;

    match cli.command {
        Commands::PublishAudit(cmd) => {
            println!("Publishing an audit\n");
            block_on(cmd.run())?;
            Ok(())
        }
        Commands::Init(cmd) => {
            println!("Generating {CLI_PATH} folder...\n");
            cmd.run()?;
            Ok(())
        }
        Commands::Clean(cmd) => {
            println!("Cleaning {CLI_PATH} folder...\n");
            cmd.run()?;
            Ok(())
        }
    }
}

#[cfg(test)]
mod tests {
    #[test]
    fn verify_cli() {
        use clap::CommandFactory;

        use super::*;

        Cli::command().debug_assert();
    }
}