use clap::{Parser, Subcommand};
#[derive(Parser)]
#[command(name = "nbi")]
#[command(about = "Check package name availability across registries", long_about = None)]
pub struct Cli {
#[command(subcommand)]
pub command: Option<Commands>,
}
#[derive(Subcommand)]
pub enum Commands {
Tui,
Serve {
#[arg(short, long, default_value = "3000")]
port: u16,
#[arg(short, long)]
open: bool,
},
Check {
name: String,
#[arg(short, long)]
json: bool,
},
Domain {
name: String,
#[arg(short, long, default_value = "com,net,org,io,dev")]
tlds: String,
#[arg(short, long)]
json: bool,
},
Publish {
#[command(subcommand)]
registry: PublishRegistry,
},
}
#[derive(Subcommand)]
pub enum PublishRegistry {
Npm {
#[arg(default_value = ".")]
path: String,
},
Crates {
#[arg(default_value = ".")]
path: String,
},
Pypi {
#[arg(default_value = ".")]
path: String,
},
}