plan_issue_cli/commands/
sprint.rs1use std::path::PathBuf;
2
3use clap::Args;
4use serde::Serialize;
5
6use super::{CommentModeArgs, GroupingArgs, PrefixArgs, SummaryArgs};
7
8#[derive(Debug, Clone, Args, Serialize)]
9pub struct StartSprintArgs {
10 #[arg(long, value_name = "path")]
12 pub plan: PathBuf,
13
14 #[arg(long, value_name = "number")]
16 pub issue: u64,
17
18 #[arg(long, value_parser = clap::value_parser!(u16).range(1..), value_name = "number")]
20 pub sprint: u16,
21
22 #[arg(long, value_name = "path")]
24 pub task_spec_out: Option<PathBuf>,
25
26 #[arg(long, value_name = "path")]
28 pub subagent_prompts_out: Option<PathBuf>,
29
30 #[command(flatten)]
31 pub prefixes: PrefixArgs,
32
33 #[command(flatten)]
34 pub grouping: GroupingArgs,
35
36 #[command(flatten)]
37 pub comment_mode: CommentModeArgs,
38}
39
40#[derive(Debug, Clone, Args, Serialize)]
41pub struct ReadySprintArgs {
42 #[arg(long, value_name = "path")]
44 pub plan: PathBuf,
45
46 #[arg(long, value_name = "number")]
48 pub issue: u64,
49
50 #[arg(long, value_parser = clap::value_parser!(u16).range(1..), value_name = "number")]
52 pub sprint: u16,
53
54 #[arg(long, value_name = "path")]
56 pub task_spec_out: Option<PathBuf>,
57
58 #[command(flatten)]
59 pub prefixes: PrefixArgs,
60
61 #[command(flatten)]
62 pub grouping: GroupingArgs,
63
64 #[command(flatten)]
65 pub summary: SummaryArgs,
66
67 #[command(flatten)]
68 pub comment_mode: CommentModeArgs,
69}
70
71#[derive(Debug, Clone, Args, Serialize)]
72pub struct AcceptSprintArgs {
73 #[arg(long, value_name = "path")]
75 pub plan: PathBuf,
76
77 #[arg(long, value_name = "number")]
79 pub issue: u64,
80
81 #[arg(long, value_parser = clap::value_parser!(u16).range(1..), value_name = "number")]
83 pub sprint: u16,
84
85 #[arg(long, value_name = "path")]
87 pub task_spec_out: Option<PathBuf>,
88
89 #[command(flatten)]
90 pub prefixes: PrefixArgs,
91
92 #[command(flatten)]
93 pub grouping: GroupingArgs,
94
95 #[arg(long = "approved-comment-url", value_name = "url")]
97 pub approved_comment_url: String,
98
99 #[command(flatten)]
100 pub summary: SummaryArgs,
101
102 #[command(flatten)]
103 pub comment_mode: CommentModeArgs,
104}
105
106#[derive(Debug, Clone, Args, Serialize)]
107pub struct MultiSprintGuideArgs {
108 #[arg(long, value_name = "path")]
110 pub plan: PathBuf,
111
112 #[arg(long, value_parser = clap::value_parser!(u16).range(1..), default_value_t = 1)]
114 pub from_sprint: u16,
115
116 #[arg(long, value_parser = clap::value_parser!(u16).range(1..), value_name = "number")]
118 pub to_sprint: Option<u16>,
119}