use clap::{Parser, Subcommand};
mod cmd;
#[derive(Parser)]
#[command(
name = "aaai",
about = "audit for asset integrity — folder diff auditor",
version,
)]
struct Cli {
#[command(subcommand)]
command: Commands,
}
#[derive(Subcommand)]
enum Commands {
Audit(cmd::audit::AuditArgs),
Snap(cmd::snap::SnapArgs),
Report(cmd::report::ReportArgs),
Check(cmd::check::CheckArgs),
History(cmd::history::HistoryArgs),
Config(cmd::config::ConfigArgs),
}
fn main() -> anyhow::Result<()> {
env_logger::Builder::from_env(
env_logger::Env::default().default_filter_or("warn")
).init();
let cli = Cli::parse();
match cli.command {
Commands::Audit(args) => cmd::audit::run(args),
Commands::Snap(args) => cmd::snap::run(args),
Commands::Report(args) => cmd::report::run(args),
Commands::Check(args) => cmd::check::run(args),
Commands::History(args) => cmd::history::run(args),
Commands::Config(args) => cmd::config::run(args),
}
}