@alejandrochaves/devflow-cli 1.3.2 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/commands/amend.d.ts.map +1 -1
  2. package/dist/commands/amend.js +139 -68
  3. package/dist/commands/amend.js.map +1 -1
  4. package/dist/commands/branch.d.ts.map +1 -1
  5. package/dist/commands/branch.js +267 -103
  6. package/dist/commands/branch.js.map +1 -1
  7. package/dist/commands/changelog.d.ts.map +1 -1
  8. package/dist/commands/changelog.js +62 -32
  9. package/dist/commands/changelog.js.map +1 -1
  10. package/dist/commands/cleanup.d.ts.map +1 -1
  11. package/dist/commands/cleanup.js +10 -3
  12. package/dist/commands/cleanup.js.map +1 -1
  13. package/dist/commands/commit.d.ts.map +1 -1
  14. package/dist/commands/commit.js +343 -175
  15. package/dist/commands/commit.js.map +1 -1
  16. package/dist/commands/fixup.d.ts.map +1 -1
  17. package/dist/commands/fixup.js +129 -81
  18. package/dist/commands/fixup.js.map +1 -1
  19. package/dist/commands/init.d.ts.map +1 -1
  20. package/dist/commands/init.js +456 -110
  21. package/dist/commands/init.js.map +1 -1
  22. package/dist/commands/issue.d.ts.map +1 -1
  23. package/dist/commands/issue.js +353 -85
  24. package/dist/commands/issue.js.map +1 -1
  25. package/dist/commands/issues.d.ts.map +1 -1
  26. package/dist/commands/issues.js +166 -77
  27. package/dist/commands/issues.js.map +1 -1
  28. package/dist/commands/log.d.ts.map +1 -1
  29. package/dist/commands/log.js +81 -46
  30. package/dist/commands/log.js.map +1 -1
  31. package/dist/commands/merge.d.ts.map +1 -1
  32. package/dist/commands/merge.js +78 -38
  33. package/dist/commands/merge.js.map +1 -1
  34. package/dist/commands/pr.d.ts.map +1 -1
  35. package/dist/commands/pr.js +110 -42
  36. package/dist/commands/pr.js.map +1 -1
  37. package/dist/commands/release.d.ts.map +1 -1
  38. package/dist/commands/release.js +70 -37
  39. package/dist/commands/release.js.map +1 -1
  40. package/dist/commands/review.d.ts.map +1 -1
  41. package/dist/commands/review.js +144 -84
  42. package/dist/commands/review.js.map +1 -1
  43. package/dist/commands/stash.d.ts.map +1 -1
  44. package/dist/commands/stash.js +164 -94
  45. package/dist/commands/stash.js.map +1 -1
  46. package/dist/commands/test-plan.d.ts.map +1 -1
  47. package/dist/commands/test-plan.js +86 -42
  48. package/dist/commands/test-plan.js.map +1 -1
  49. package/dist/commands/update.d.ts.map +1 -1
  50. package/dist/commands/update.js +9 -3
  51. package/dist/commands/update.js.map +1 -1
  52. package/dist/commands/worktree.d.ts.map +1 -1
  53. package/dist/commands/worktree.js +168 -96
  54. package/dist/commands/worktree.js.map +1 -1
  55. package/dist/prompts.d.ts +62 -0
  56. package/dist/prompts.d.ts.map +1 -0
  57. package/dist/prompts.js +130 -0
  58. package/dist/prompts.js.map +1 -0
  59. package/dist/providers/tickets.d.ts +7 -0
  60. package/dist/providers/tickets.d.ts.map +1 -1
  61. package/dist/providers/tickets.js +29 -2
  62. package/dist/providers/tickets.js.map +1 -1
  63. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../src/commands/issue.ts"],"names":[],"mappings":"AA8JA,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,YAAY,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+M5E"}
1
+ {"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../src/commands/issue.ts"],"names":[],"mappings":"AA8RA,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,YAAY,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuX5E"}
@@ -5,6 +5,8 @@ import { bold, dim, green, cyan, gray } from "../colors.js";
5
5
  import { checkGhInstalled } from "../git.js";
6
6
  import { setTestPlan } from "../test-plan.js";
7
7
  import { formatBranchName } from "./branch.js";
8
+ import { assignIssue, getCurrentUser } from "../providers/projects.js";
9
+ import { selectWithBack, inputWithBack, confirmWithBack, BACK_VALUE, } from "../prompts.js";
8
10
  async function collectList(prompt) {
9
11
  console.log(dim(`\n${prompt} (one per line). Empty line to finish:\n`));
10
12
  const items = [];
@@ -22,30 +24,69 @@ async function collectList(prompt) {
22
24
  }
23
25
  return items;
24
26
  }
25
- async function collectFieldValue(field) {
27
+ async function collectFieldValue(field, showBack, currentValue) {
26
28
  switch (field.type) {
27
- case "input":
28
- return await input({
29
+ case "input": {
30
+ const result = await inputWithBack({
29
31
  message: field.prompt,
32
+ default: typeof currentValue === "string" ? currentValue : undefined,
30
33
  validate: field.required ? (val) => val.trim().length > 0 || "Required" : undefined,
34
+ showBack,
31
35
  });
36
+ return result;
37
+ }
32
38
  case "multiline":
39
+ // Editor doesn't support back navigation easily, use input with note
40
+ if (showBack) {
41
+ const result = await inputWithBack({
42
+ message: `${field.prompt} (single line, or use editor for multiline)`,
43
+ default: typeof currentValue === "string" ? currentValue : undefined,
44
+ validate: field.required ? (val) => val.trim().length > 0 || "Required" : undefined,
45
+ showBack,
46
+ });
47
+ return result;
48
+ }
33
49
  return await editor({
34
50
  message: field.prompt,
35
51
  validate: field.required ? (val) => val.trim().length > 0 || "Required" : undefined,
36
52
  });
37
- case "select":
53
+ case "select": {
38
54
  if (!field.options || field.options.length === 0) {
39
- return await input({ message: field.prompt });
55
+ const result = await inputWithBack({
56
+ message: field.prompt,
57
+ default: typeof currentValue === "string" ? currentValue : undefined,
58
+ showBack,
59
+ });
60
+ return result;
40
61
  }
41
- return await select({
62
+ const result = await selectWithBack({
42
63
  message: field.prompt,
43
64
  choices: field.options.map((opt) => ({ value: opt, name: opt })),
65
+ default: typeof currentValue === "string" ? currentValue : undefined,
66
+ showBack,
44
67
  });
68
+ return result;
69
+ }
45
70
  case "list":
71
+ // For lists, show back option before collecting
72
+ if (showBack) {
73
+ const goBack = await selectWithBack({
74
+ message: field.prompt,
75
+ choices: [{ value: "continue", name: "Continue to add items" }],
76
+ showBack: true,
77
+ });
78
+ if (goBack === BACK_VALUE)
79
+ return BACK_VALUE;
80
+ }
46
81
  return await collectList(field.prompt);
47
- default:
48
- return await input({ message: field.prompt });
82
+ default: {
83
+ const result = await inputWithBack({
84
+ message: field.prompt,
85
+ default: typeof currentValue === "string" ? currentValue : undefined,
86
+ showBack,
87
+ });
88
+ return result;
89
+ }
49
90
  }
50
91
  }
51
92
  function applyTemplate(template, values) {
@@ -104,16 +145,92 @@ function applyTemplate(template, values) {
104
145
  }
105
146
  async function collectIssueData(issueType) {
106
147
  const values = {};
107
- for (const field of issueType.fields) {
108
- values[field.name] = await collectFieldValue(field);
148
+ const fields = issueType.fields;
149
+ // Step through fields with back navigation
150
+ let fieldIndex = 0;
151
+ while (fieldIndex < fields.length) {
152
+ const field = fields[fieldIndex];
153
+ const isFirst = fieldIndex === 0;
154
+ const currentValue = values[field.name];
155
+ const result = await collectFieldValue(field, !isFirst, currentValue);
156
+ if (result === BACK_VALUE) {
157
+ if (fieldIndex > 0) {
158
+ fieldIndex--;
159
+ }
160
+ else {
161
+ // At first field, return back to issue type selection
162
+ return BACK_VALUE;
163
+ }
164
+ }
165
+ else {
166
+ values[field.name] = result;
167
+ fieldIndex++;
168
+ }
109
169
  }
110
170
  // Apply template with collected values
111
171
  const body = applyTemplate(issueType.template, values);
112
- // Determine title: use first required field or first field
172
+ // Generate a default title suggestion from the first required field
113
173
  const titleField = issueType.fields.find((f) => f.required) || issueType.fields[0];
114
174
  const titleValue = values[titleField?.name || ""];
115
- const title = Array.isArray(titleValue) ? titleValue[0] || "" : String(titleValue || "").trim();
116
- return { title, body };
175
+ const defaultTitle = Array.isArray(titleValue) ? titleValue[0] || "" : String(titleValue || "").trim();
176
+ // Prompt for explicit title with back navigation
177
+ const titleResult = await inputWithBack({
178
+ message: "Issue title:",
179
+ default: defaultTitle,
180
+ validate: (val) => val.trim().length > 0 || "Title is required",
181
+ showBack: true,
182
+ });
183
+ if (titleResult === BACK_VALUE) {
184
+ // Go back to last field - recursively handle this by going back one field
185
+ // We need to re-collect from the last field
186
+ const lastField = fields[fields.length - 1];
187
+ const lastResult = await collectFieldValue(lastField, true, values[lastField.name]);
188
+ if (lastResult === BACK_VALUE) {
189
+ // User wants to go further back, restart the whole collection
190
+ return collectIssueData(issueType);
191
+ }
192
+ values[lastField.name] = lastResult;
193
+ // Now re-prompt for title
194
+ return collectIssueData(issueType);
195
+ }
196
+ return { title: titleResult, body, values };
197
+ }
198
+ function ensureLabelsExist(labels) {
199
+ for (const label of labels) {
200
+ try {
201
+ // Check if label exists
202
+ execSync(`gh label list --search "${label}" --json name`, {
203
+ encoding: "utf-8",
204
+ stdio: ["pipe", "pipe", "pipe"],
205
+ });
206
+ // Parse results to see if exact match exists
207
+ const result = execSync(`gh label list --search "${label}" --json name`, {
208
+ encoding: "utf-8",
209
+ });
210
+ const existingLabels = JSON.parse(result);
211
+ const exactMatch = existingLabels.some((l) => l.name.toLowerCase() === label.toLowerCase());
212
+ if (!exactMatch) {
213
+ // Create the label with a default color
214
+ console.log(dim(`Creating label "${label}"...`));
215
+ execSync(`gh label create "${label}" --color "0e8a16" --force`, {
216
+ stdio: ["pipe", "pipe", "pipe"],
217
+ });
218
+ }
219
+ }
220
+ catch {
221
+ // Label doesn't exist or error checking, try to create it
222
+ try {
223
+ console.log(dim(`Creating label "${label}"...`));
224
+ execSync(`gh label create "${label}" --color "0e8a16" --force`, {
225
+ stdio: ["pipe", "pipe", "pipe"],
226
+ });
227
+ }
228
+ catch {
229
+ // If we can't create the label, we'll let the issue creation fail with the original error
230
+ console.warn(dim(`Warning: Could not create label "${label}"`));
231
+ }
232
+ }
233
+ }
117
234
  }
118
235
  function formatIssuePreview(data) {
119
236
  const lines = [
@@ -137,8 +254,13 @@ export async function issueCommand(options = {}) {
137
254
  const config = loadConfig();
138
255
  const issueTypes = config.issueTypes;
139
256
  const branchFormat = config.branchFormat;
140
- // Get issue type from flag or prompt
257
+ // State for the flow
141
258
  let issueType;
259
+ let title = "";
260
+ let body = "";
261
+ let collectedValues = {};
262
+ let currentStep = "type";
263
+ // Skip type step if provided via flag
142
264
  if (options.type) {
143
265
  const found = issueTypes.find((t) => t.value === options.type);
144
266
  if (!found) {
@@ -146,44 +268,84 @@ export async function issueCommand(options = {}) {
146
268
  process.exit(1);
147
269
  }
148
270
  issueType = found;
271
+ currentStep = "fields";
149
272
  }
150
- else {
151
- issueType = await select({
152
- message: "Select issue type:",
153
- choices: issueTypes.map((t) => ({
154
- value: t,
155
- name: t.label,
156
- })),
157
- });
158
- }
159
- let title;
160
- let body;
161
- // If --title and --body provided, use them directly
273
+ // Skip fields if --title and --body provided
162
274
  if (options.title && options.body) {
163
275
  title = options.title;
164
276
  body = options.body;
277
+ currentStep = "preview";
165
278
  }
166
- else if (options.json) {
279
+ else if (options.json && issueType) {
167
280
  // Parse JSON and apply template
168
281
  try {
169
- const values = JSON.parse(options.json);
170
- body = applyTemplate(issueType.template, values);
171
- // Determine title from JSON values
282
+ collectedValues = JSON.parse(options.json);
283
+ body = applyTemplate(issueType.template, collectedValues);
172
284
  const titleField = issueType.fields.find((f) => f.required) || issueType.fields[0];
173
- const titleValue = values[titleField?.name || ""];
285
+ const titleValue = collectedValues[titleField?.name || ""];
174
286
  title = options.title || (Array.isArray(titleValue) ? titleValue[0] || "" : String(titleValue || "").trim());
287
+ currentStep = "preview";
175
288
  }
176
289
  catch {
177
290
  console.error("Invalid JSON provided to --json flag");
178
291
  process.exit(1);
179
292
  }
180
293
  }
181
- else {
182
- // Collect type-specific data interactively
183
- console.log("");
184
- const collected = await collectIssueData(issueType);
185
- title = options.title || collected.title;
186
- body = collected.body;
294
+ // Interactive step flow
295
+ while (currentStep !== undefined) {
296
+ switch (currentStep) {
297
+ case "type": {
298
+ const result = await selectWithBack({
299
+ message: "Select issue type:",
300
+ choices: issueTypes.map((t) => ({
301
+ value: t,
302
+ name: t.label,
303
+ })),
304
+ showBack: false, // First step
305
+ });
306
+ if (result === BACK_VALUE) {
307
+ // Can't go back from first step
308
+ }
309
+ else {
310
+ issueType = result;
311
+ currentStep = "fields";
312
+ }
313
+ break;
314
+ }
315
+ case "fields": {
316
+ if (!issueType) {
317
+ currentStep = "type";
318
+ break;
319
+ }
320
+ console.log("");
321
+ const collected = await collectIssueData(issueType);
322
+ if (collected === BACK_VALUE) {
323
+ // Go back to type selection (only if type wasn't provided via flag)
324
+ if (!options.type) {
325
+ currentStep = "type";
326
+ }
327
+ // If type was provided via flag, stay on fields
328
+ }
329
+ else {
330
+ title = options.title || collected.title;
331
+ body = collected.body;
332
+ collectedValues = collected.values;
333
+ currentStep = "preview";
334
+ }
335
+ break;
336
+ }
337
+ case "preview": {
338
+ // Exit the loop to continue with preview and creation
339
+ currentStep = undefined;
340
+ break;
341
+ }
342
+ default:
343
+ currentStep = undefined;
344
+ }
345
+ }
346
+ if (!issueType) {
347
+ console.log("Aborted.");
348
+ process.exit(0);
187
349
  }
188
350
  // Determine labels
189
351
  const labels = [issueType.labelColor];
@@ -202,23 +364,45 @@ export async function issueCommand(options = {}) {
202
364
  }
203
365
  // Confirm (skip if --yes)
204
366
  if (!options.yes) {
205
- const confirmed = await confirm({
367
+ const confirmResult = await selectWithBack({
206
368
  message: "Create this issue?",
207
- default: true,
369
+ choices: [
370
+ { value: "yes", name: "Yes, create issue" },
371
+ { value: "no", name: "No, abort" },
372
+ ],
373
+ default: "yes",
374
+ showBack: true,
208
375
  });
209
- if (!confirmed) {
376
+ if (confirmResult === BACK_VALUE) {
377
+ // Restart the flow
378
+ return issueCommand(options);
379
+ }
380
+ if (confirmResult !== "yes") {
210
381
  console.log("Aborted.");
211
382
  process.exit(0);
212
383
  }
213
384
  }
385
+ // Ensure labels exist before creating issue
386
+ if (labels.length > 0) {
387
+ ensureLabelsExist(labels);
388
+ }
214
389
  // Create the issue using gh CLI
215
390
  const labelArg = labels.length > 0 ? `--label "${labels.join(",")}"` : "";
216
- const cmd = `gh issue create --title ${JSON.stringify(title)} --body ${JSON.stringify(body)} ${labelArg}`;
217
- const result = execSync(cmd, { encoding: "utf-8" }).trim();
391
+ const cmd = `gh issue create --title ${JSON.stringify(title)} --body-file - ${labelArg}`;
392
+ const result = execSync(cmd, { input: body, encoding: "utf-8" }).trim();
218
393
  // Extract issue number from URL (format: https://github.com/owner/repo/issues/123)
219
394
  const issueUrlMatch = result.match(/\/issues\/(\d+)/);
220
395
  const issueNumber = issueUrlMatch ? issueUrlMatch[1] : null;
221
396
  console.log(green(`\n✓ Issue created: ${result}`));
397
+ // Self-assign the issue to the current user
398
+ if (issueNumber) {
399
+ const currentUser = getCurrentUser();
400
+ if (currentUser) {
401
+ if (assignIssue(parseInt(issueNumber, 10), currentUser)) {
402
+ console.log(green(`✓ Assigned #${issueNumber} to @${currentUser}`));
403
+ }
404
+ }
405
+ }
222
406
  // Handle branch creation from flag or prompt
223
407
  let shouldCreateBranch;
224
408
  if (options.createBranch !== undefined) {
@@ -228,15 +412,21 @@ export async function issueCommand(options = {}) {
228
412
  shouldCreateBranch = false;
229
413
  }
230
414
  else {
231
- shouldCreateBranch = await confirm({
415
+ const branchResult = await confirmWithBack({
232
416
  message: "Create a branch and start working on this issue?",
233
417
  default: true,
418
+ showBack: false, // Can't go back after issue is created
234
419
  });
420
+ shouldCreateBranch = branchResult === true;
235
421
  }
236
422
  if (shouldCreateBranch) {
237
- let description;
423
+ let branchStep = "description";
424
+ let description = "";
425
+ let branchName = "";
426
+ // Pre-fill if options provided
238
427
  if (options.branchDesc) {
239
428
  description = options.branchDesc;
429
+ branchStep = "confirm";
240
430
  }
241
431
  else if (options.yes) {
242
432
  description = title
@@ -244,48 +434,126 @@ export async function issueCommand(options = {}) {
244
434
  .replace(/[^a-z0-9]+/g, "-")
245
435
  .replace(/^-|-$/g, "")
246
436
  .slice(0, 50);
437
+ branchStep = "confirm";
247
438
  }
248
- else {
249
- description = await input({
250
- message: "Short branch description:",
251
- default: title
252
- .toLowerCase()
253
- .replace(/[^a-z0-9]+/g, "-")
254
- .replace(/^-|-$/g, "")
255
- .slice(0, 50),
256
- validate: (val) => val.trim().length > 0 || "Description is required",
257
- });
439
+ while (branchStep !== "done") {
440
+ switch (branchStep) {
441
+ case "description": {
442
+ const descResult = await inputWithBack({
443
+ message: "Short branch description:",
444
+ default: description || title
445
+ .toLowerCase()
446
+ .replace(/[^a-z0-9]+/g, "-")
447
+ .replace(/^-|-$/g, "")
448
+ .slice(0, 50),
449
+ validate: (val) => val.trim().length > 0 || "Description is required",
450
+ showBack: false, // First step after issue creation
451
+ });
452
+ if (descResult === BACK_VALUE) {
453
+ // Can't go back, issue already created
454
+ }
455
+ else {
456
+ description = descResult;
457
+ branchStep = "confirm";
458
+ }
459
+ break;
460
+ }
461
+ case "confirm": {
462
+ const kebab = description
463
+ .trim()
464
+ .toLowerCase()
465
+ .replace(/[^a-z0-9]+/g, "-")
466
+ .replace(/^-|-$/g, "");
467
+ // Use configurable branch format
468
+ const ticketPart = issueNumber ? `#${issueNumber}` : "UNTRACKED";
469
+ branchName = formatBranchName(branchFormat, {
470
+ type: issueType.branchType,
471
+ ticket: ticketPart,
472
+ description: kebab,
473
+ });
474
+ console.log(`\n${dim("Branch:")} ${cyan(branchName)}`);
475
+ // Confirm branch creation (skip if --yes)
476
+ if (options.yes) {
477
+ branchStep = "done";
478
+ }
479
+ else {
480
+ const confirmResult = await selectWithBack({
481
+ message: "Create this branch?",
482
+ choices: [
483
+ { value: "yes", name: "Yes, create branch" },
484
+ { value: "no", name: "No, skip branch" },
485
+ ],
486
+ default: "yes",
487
+ showBack: !options.branchDesc, // Can go back if description was entered interactively
488
+ });
489
+ if (confirmResult === BACK_VALUE) {
490
+ branchStep = "description";
491
+ }
492
+ else if (confirmResult === "yes") {
493
+ branchStep = "done";
494
+ }
495
+ else {
496
+ // User said no, skip branch creation
497
+ return;
498
+ }
499
+ }
500
+ break;
501
+ }
502
+ default:
503
+ branchStep = "done";
504
+ }
258
505
  }
259
- const kebab = description
260
- .trim()
261
- .toLowerCase()
262
- .replace(/[^a-z0-9]+/g, "-")
263
- .replace(/^-|-$/g, "");
264
- // Use configurable branch format
265
- const ticketPart = issueNumber ? `#${issueNumber}` : "UNTRACKED";
266
- const branchName = formatBranchName(branchFormat, {
267
- type: issueType.branchType,
268
- ticket: ticketPart,
269
- description: kebab,
270
- });
271
- console.log(`\n${dim("Branch:")} ${cyan(branchName)}`);
272
- // Confirm branch creation (skip if --yes)
273
- let confirmBranch = true;
506
+ // Create the branch
507
+ execSync(`git checkout -b ${branchName}`, { stdio: "inherit" });
508
+ console.log(green(`✓ Branch created: ${branchName}`));
509
+ // Skip test plan prompts if --yes is provided
274
510
  if (!options.yes) {
275
- confirmBranch = await confirm({
276
- message: "Create this branch?",
277
- default: true,
278
- });
279
- }
280
- if (confirmBranch) {
281
- execSync(`git checkout -b ${branchName}`, { stdio: "inherit" });
282
- console.log(green(`✓ Branch created: ${branchName}`));
283
- // Skip test plan prompts if --yes is provided
284
- if (!options.yes) {
285
- // Offer test plan for feature-like issues (user-story, feature) and bugs
286
- const isFeatureType = issueType.value === "user-story" || issueType.value === "feature";
287
- const isBugType = issueType.value === "bug";
288
- if (isFeatureType || isBugType) {
511
+ // Offer test plan for feature-like issues (user-story, feature) and bugs
512
+ const isFeatureType = issueType.value === "user-story" || issueType.value === "feature";
513
+ const isBugType = issueType.value === "bug";
514
+ if (isFeatureType || isBugType) {
515
+ // For bugs, check if we have steps to reproduce that can be used as test plan
516
+ const stepsToReproduce = collectedValues.steps;
517
+ const hasSteps = Array.isArray(stepsToReproduce) && stepsToReproduce.length > 0;
518
+ if (isBugType && hasSteps) {
519
+ // Offer to use steps to reproduce as test plan
520
+ console.log(dim("\nSteps to reproduce from bug report:"));
521
+ stepsToReproduce.forEach((step, i) => console.log(dim(` ${i + 1}. ${step}`)));
522
+ const useSteps = await select({
523
+ message: "Use these as test plan steps?",
524
+ choices: [
525
+ { value: "use", name: "Yes, use these steps" },
526
+ { value: "edit", name: "Edit/add more steps" },
527
+ { value: "skip", name: "Skip test plan" },
528
+ ],
529
+ });
530
+ if (useSteps === "use") {
531
+ setTestPlan(branchName, stepsToReproduce);
532
+ console.log(green(`✓ Saved ${stepsToReproduce.length} test plan step${stepsToReproduce.length > 1 ? "s" : ""}`));
533
+ }
534
+ else if (useSteps === "edit") {
535
+ const steps = [...stepsToReproduce];
536
+ console.log(dim("\nEdit steps or add more. Empty line to finish.\n"));
537
+ let adding = true;
538
+ while (adding) {
539
+ const step = await input({
540
+ message: `Step ${steps.length + 1} (blank to finish):`,
541
+ });
542
+ if (!step.trim()) {
543
+ adding = false;
544
+ }
545
+ else {
546
+ steps.push(step.trim());
547
+ }
548
+ }
549
+ if (steps.length > 0) {
550
+ setTestPlan(branchName, steps);
551
+ console.log(green(`✓ Saved ${steps.length} test plan step${steps.length > 1 ? "s" : ""}`));
552
+ }
553
+ }
554
+ }
555
+ else {
556
+ // Regular flow for features or bugs without steps
289
557
  const addTestPlan = await confirm({
290
558
  message: "Add test plan steps?",
291
559
  default: false,
@@ -312,9 +580,9 @@ export async function issueCommand(options = {}) {
312
580
  }
313
581
  }
314
582
  }
315
- console.log(dim("\nYou're ready to start working!"));
316
- console.log(dim(` Make changes, then: ${cyan("devflow commit")}`));
317
583
  }
584
+ console.log(dim("\nYou're ready to start working!"));
585
+ console.log(dim(` Make changes, then: ${cyan("devflow commit")}`));
318
586
  }
319
587
  }
320
588
  catch (error) {