1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use std::str;

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

use crate::cmd::{clean::CleanArgs, init::InitArgs, publish_audit::PublishAuditArgs};

#[derive(Debug, Parser)]
#[command(about = "Trustblock CLI", version)]
pub struct Cli {
    #[command(subcommand)]
    pub command: Commands,
}

#[derive(Debug, Subcommand)]
pub enum Commands {
    #[command(
        about = "Publishes an audit to Trustblock",
        arg_required_else_help = true,
        next_line_help = true
    )]
    PublishAudit(PublishAuditArgs),

    #[command(about = "Initializes .trustblock folder")]
    Init(InitArgs),

    #[command(about = "Cleans .trustblock folder")]
    Clean(CleanArgs),
}