use clap::{Parser, Subcommand}; #[derive(Parser)] #[command(author, version, about, long_about = None)] struct Cli { #[clap(subcommand)] command: Commands, } #[derive(Subcommand)] enum Commands { /// 🚀 Publish to IPFS Publish {}, } fn main() { let cli = Cli::parse(); match &cli.command { Commands::Publish {} => { todo!("publish command"); } } }