dsp-cli 0.1.1

AI-agent-friendly command-line interface for the DaSCH Service Platform (DSP)
Documentation
use std::process::ExitCode;

use clap::Parser;

use dsp_cli::cli::Cli;
use dsp_cli::diagnostic::ExitCategory;

fn main() -> ExitCode {
    // Must precede `Cli::parse()` so clap's `env =` attributes see `.env` values.
    dotenvy::dotenv().ok();

    let cli = Cli::parse();

    dsp_cli::diagnostic::init_tracing(cli.verbose);

    match dsp_cli::run(cli) {
        Ok(()) => ExitCode::from(ExitCategory::Success as u8),
        Err(diag) => {
            eprintln!("Error: {diag}");
            ExitCode::from(diag.exit_category() as u8)
        }
    }
}