heddle_cli_args/cli/cli_args/
commands_context.rs1#[derive(Clone, Debug, clap::Subcommand)]
6pub enum ContextCommands {
7 Set(ContextSetArgs),
9
10 Get(ContextGetArgs),
12
13 List(ContextListArgs),
15
16 History(ContextHistoryArgs),
18
19 Edit(ContextEditArgs),
21
22 Supersede(ContextSupersedeArgs),
24
25 Rm(ContextRmArgs),
27
28 Check(ContextCheckArgs),
30
31 Suggest(ContextSuggestArgs),
33
34 Audit(ContextAuditArgs),
36
37 #[cfg(all(feature = "git-overlay", feature = "ingest"))]
39 Reason {
40 #[command(subcommand)]
41 command: ContextReasonCommands,
42 },
43}
44
45#[derive(Clone, Debug, clap::Args)]
46pub struct ContextTargetArgs {
47 #[arg(long, conflicts_with = "state")]
49 pub path: Option<String>,
50
51 #[arg(long, conflicts_with = "path")]
53 pub state: Option<String>,
54}
55
56#[cfg(all(feature = "git-overlay", feature = "ingest"))]
57#[derive(Clone, Debug, clap::Subcommand)]
58pub enum ContextReasonCommands {
59 Git(ContextReasonGitArgs),
61}
62
63#[cfg(all(feature = "git-overlay", feature = "ingest"))]
64#[derive(Clone, Debug, clap::Args)]
65pub struct ContextReasonGitArgs {
66 #[arg(long)]
68 pub path: std::path::PathBuf,
69
70 #[arg(long, default_value_t = 5)]
72 pub max_sessions_per_commit: usize,
73
74 #[arg(long, default_value_t = 0.20)]
76 pub min_match_confidence: f32,
77
78 #[arg(long)]
80 pub limit: Option<usize>,
81
82 #[arg(long = "claude-home")]
84 pub claude_home: Option<String>,
85
86 #[arg(long = "codex-home")]
88 pub codex_home: Option<String>,
89
90 #[arg(long = "opencode-home")]
92 pub opencode_home: Option<String>,
93
94 #[arg(long)]
96 pub dry_run: bool,
97}
98
99#[derive(Clone, Debug, clap::Args)]
101pub struct ContextSetArgs {
102 #[command(flatten)]
103 pub target: ContextTargetArgs,
104
105 #[arg(short, long)]
107 pub scope: Option<String>,
108
109 #[arg(
111 long,
112 default_value = "rationale",
113 value_parser = ["constraint", "invariant", "rationale"]
114 )]
115 pub kind: String,
116
117 #[arg(long)]
119 pub tag: Vec<String>,
120
121 #[arg(short = 'm', long)]
123 pub message: Option<String>,
124
125 #[arg(long)]
127 pub file: Option<std::path::PathBuf>,
128}
129
130#[derive(Clone, Debug, clap::Args)]
132pub struct ContextGetArgs {
133 #[command(flatten)]
134 pub target: ContextTargetArgs,
135
136 #[arg(short, long)]
138 pub scope: Option<String>,
139
140 #[arg(long)]
142 pub tag: Option<String>,
143
144 #[arg(long)]
146 pub r#ref: Option<String>,
147}
148
149#[derive(Clone, Debug, clap::Args)]
151pub struct ContextListArgs {
152 #[arg(long)]
154 pub prefix: Option<String>,
155
156 #[arg(long)]
158 pub tag: Option<String>,
159
160 #[arg(long)]
162 pub r#ref: Option<String>,
163
164 #[arg(long)]
166 pub include_superseded: bool,
167}
168
169#[derive(Clone, Debug, clap::Args)]
170pub struct ContextHistoryArgs {
171 pub annotation_id: String,
173
174 #[arg(long)]
176 pub r#ref: Option<String>,
177}
178
179#[derive(Clone, Debug, clap::Args)]
180pub struct ContextEditArgs {
181 pub annotation_id: String,
183
184 #[arg(long, value_parser = ["constraint", "invariant", "rationale"])]
186 pub kind: Option<String>,
187
188 #[arg(long)]
190 pub tag: Vec<String>,
191
192 #[arg(short = 'm', long)]
194 pub message: Option<String>,
195
196 #[arg(long)]
198 pub file: Option<std::path::PathBuf>,
199}
200
201#[derive(Clone, Debug, clap::Args)]
202pub struct ContextSupersedeArgs {
203 pub annotation_id: String,
205
206 #[command(flatten)]
207 pub target: ContextTargetArgs,
208
209 #[arg(short, long)]
211 pub scope: Option<String>,
212
213 #[arg(
215 long,
216 default_value = "rationale",
217 value_parser = ["constraint", "invariant", "rationale"]
218 )]
219 pub kind: String,
220
221 #[arg(long)]
223 pub tag: Vec<String>,
224
225 #[arg(short = 'm', long)]
227 pub message: Option<String>,
228
229 #[arg(long)]
231 pub file: Option<std::path::PathBuf>,
232}
233
234#[derive(Clone, Debug, clap::Args)]
236pub struct ContextRmArgs {
237 #[command(flatten)]
238 pub target: ContextTargetArgs,
239
240 #[arg(short, long)]
242 pub scope: Option<String>,
243
244 #[arg(long)]
246 pub all: bool,
247}
248
249#[derive(Clone, Debug, clap::Args)]
251pub struct ContextCheckArgs {
252 #[arg(long)]
254 pub path: Option<String>,
255
256 #[arg(long)]
258 pub state: Option<String>,
259
260 #[arg(long)]
262 pub tag: Option<String>,
263
264 #[arg(long)]
266 pub r#ref: Option<String>,
267}
268
269#[derive(Clone, Debug, clap::Args)]
270pub struct ContextSuggestArgs {
271 #[arg(long)]
273 pub r#ref: Option<String>,
274
275 #[arg(short = 'n', long, default_value = "10")]
277 pub limit: usize,
278}
279
280#[derive(Clone, Debug, clap::Args)]
281pub struct ContextAuditArgs {
282 #[arg(long)]
284 pub r#ref: Option<String>,
285}