use clap::Subcommand;
pub mod gate;
pub mod scan;
pub mod version;
#[derive(Subcommand, Debug)]
pub enum Command {
Gate(gate::GateArgs),
Scan(scan::ScanArgs),
Version,
}
#[derive(clap::Args, Debug, Clone)]
pub struct CommonArgs {
#[arg(long, env = "PKGRADAR_TOKEN", hide_env_values = true)]
pub token: String,
#[arg(
long,
env = "PKGRADAR_BASE_URL",
default_value = crate::client::DEFAULT_BASE_URL
)]
pub base_url: String,
#[arg(long, default_value_t = 60000)]
pub timeout_ms: u64,
#[arg(long, default_value = "text", value_parser = ["text", "json"])]
pub format: String,
#[arg(long)]
pub quiet: bool,
}