release_kit/cli/guide.rs
1//! Arguments for `rk guide`.
2
3use clap::Args;
4
5/// Print a runbook with what detection knows filled in, or list them.
6#[derive(Debug, Args)]
7pub struct GuideArgs {
8 /// The runbook to print; omit it and pass --list to see the names.
9 pub name: Option<String>,
10
11 /// List the runbooks instead of printing one.
12 #[arg(long)]
13 pub list: bool,
14
15 /// Select the release driver's lines where the runbook branches;
16 /// defaults to the configured or recorded driver, then to detection
17 /// from the version files.
18 #[arg(long, alias = "tech", value_name = "NAME")]
19 pub technology: Option<String>,
20
21 /// Select the forge's lines where the runbook branches; defaults to
22 /// detection from the git remote.
23 #[arg(long)]
24 pub forge: Option<String>,
25
26 /// The project path substituted for <repo>; defaults to detection from
27 /// the git remote.
28 #[arg(long)]
29 pub repo: Option<String>,
30
31 /// Select the checkout mode's lines where the runbook branches:
32 /// linked-worktree or main-worktree. Defaults to the mode the
33 /// configuration or the landing record states; without either, every
34 /// variant prints with its label.
35 #[arg(long, alias = "workflow", value_name = "MODE")]
36 pub checkout_mode: Option<String>,
37
38 /// Select the release style's lines where the runbook branches: trunk
39 /// or lines. Defaults to the style the configuration or the landing
40 /// record states; without either, every variant prints with its label.
41 #[arg(long, alias = "style", value_name = "STYLE")]
42 pub release_style: Option<String>,
43}