1use clap::{Args, Parser, Subcommand};
2
3#[derive(Parser, Debug)]
5#[command(
6 name = "commit-wizard",
7 version,
8 author,
9 about = "🧙♂️ A lightweight conventional commits assistant."
10)]
11pub struct Cli {
12 #[command(flatten)]
14 pub global: GlobalOpts,
15
16 #[command(subcommand)]
17 pub command: Command,
18}
19
20#[derive(Args, Debug, Clone)]
21pub struct GlobalOpts {
22 #[arg(long, global = true)]
24 pub dry_run: bool,
25}
26
27#[derive(Subcommand, Debug)]
28pub enum Command {
29 Commit {
31 #[arg(long)]
33 allow_empty: bool,
34 },
35}