@alejandrochaves/devflow-cli 0.6.0 → 0.7.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.
package/README.md CHANGED
@@ -198,6 +198,53 @@ devflow comments --number 303
198
198
 
199
199
  Requires `gh` CLI.
200
200
 
201
+ ### `devflow issue` (alias: `i`)
202
+
203
+ Create GitHub issues using Scrum-style templates with an interactive flow.
204
+
205
+ **Issue Types:**
206
+
207
+ | Type | Label | Branch Type |
208
+ |------|-------|-------------|
209
+ | User Story | `feature` | `feat/` |
210
+ | Bug | `bug` | `fix/` |
211
+ | Task | `task` | `chore/` |
212
+ | Spike | `spike` | `chore/` |
213
+ | Tech Debt | `tech-debt` | `refactor/` |
214
+
215
+ **Flow:**
216
+ 1. Select issue type
217
+ 2. Fill in type-specific fields (guided prompts)
218
+ 3. Preview the issue
219
+ 4. Confirm and create via `gh issue create`
220
+ 5. Optionally create a branch and start working
221
+
222
+ **Example:**
223
+ ```
224
+ $ devflow issue
225
+ ? Select issue type: › User Story
226
+ ? As a: › logged-in user
227
+ ? I want to: › export my data as CSV
228
+ ? So that: › I can use it in spreadsheets
229
+ ? Acceptance criteria:
230
+ 1. CSV includes all user data
231
+ 2. (blank to finish)
232
+
233
+ ─── Issue Preview ───
234
+ Type: User Story
235
+ Title: export my data as CSV
236
+ Labels: feature
237
+
238
+ ? Create this issue? › Yes
239
+ ✓ Issue created: https://github.com/owner/repo/issues/42
240
+
241
+ ? Create a branch and start working on this issue? › Yes
242
+ ? Short branch description: › export-csv
243
+ ✓ Branch created: feat/#42_export-csv
244
+ ```
245
+
246
+ Requires `gh` CLI.
247
+
201
248
  ### `devflow stash` (alias: `st`)
202
249
 
203
250
  Named stash management with an interactive interface.
@@ -340,6 +387,7 @@ eval "$(devflow completions --shell bash)"
340
387
  | `devflow release` | `devflow rel` |
341
388
  | `devflow review` | `devflow rv` |
342
389
  | `devflow comments` | `devflow cm` |
390
+ | `devflow issue` | `devflow i` |
343
391
  | `devflow stash` | `devflow st` |
344
392
  | `devflow worktree` | `devflow wt` |
345
393
  | `devflow log` | `devflow l` |
@@ -361,6 +409,7 @@ devflow fixup --dry-run
361
409
  devflow merge --dry-run
362
410
  devflow cleanup --dry-run
363
411
  devflow changelog --dry-run
412
+ devflow issue --dry-run
364
413
  ```
365
414
 
366
415
  ## Configuration
@@ -0,0 +1,4 @@
1
+ export declare function issueCommand(options?: {
2
+ dryRun?: boolean;
3
+ }): Promise<void>;
4
+ //# sourceMappingURL=issue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../src/commands/issue.ts"],"names":[],"mappings":"AAqRA,wBAAsB,YAAY,CAAC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAsIpF"}
@@ -0,0 +1,349 @@
1
+ import { select, input, confirm } from "@inquirer/prompts";
2
+ import { execSync } from "child_process";
3
+ import { loadConfig } from "../config.js";
4
+ import { bold, dim, green, cyan, gray } from "../colors.js";
5
+ import { checkGhInstalled } from "../git.js";
6
+ import { setTestPlan } from "../test-plan.js";
7
+ const ISSUE_TYPES = [
8
+ { value: "user-story", label: "User Story", labelColor: "feature", branchType: "feat" },
9
+ { value: "bug", label: "Bug", labelColor: "bug", branchType: "fix" },
10
+ { value: "task", label: "Task", labelColor: "task", branchType: "chore" },
11
+ { value: "spike", label: "Spike", labelColor: "spike", branchType: "chore" },
12
+ { value: "tech-debt", label: "Tech Debt", labelColor: "tech-debt", branchType: "refactor" },
13
+ ];
14
+ async function collectUserStory() {
15
+ const asA = await input({
16
+ message: "As a:",
17
+ validate: (val) => val.trim().length > 0 || "Required",
18
+ });
19
+ const iWant = await input({
20
+ message: "I want to:",
21
+ validate: (val) => val.trim().length > 0 || "Required",
22
+ });
23
+ const soThat = await input({
24
+ message: "So that:",
25
+ validate: (val) => val.trim().length > 0 || "Required",
26
+ });
27
+ console.log(dim("\nAdd acceptance criteria (one per line). Empty line to finish:\n"));
28
+ const criteria = [];
29
+ let adding = true;
30
+ while (adding) {
31
+ const criterion = await input({
32
+ message: ` ${criteria.length + 1}.${criteria.length > 0 ? " (blank to finish)" : ""}`,
33
+ });
34
+ if (!criterion.trim()) {
35
+ adding = false;
36
+ }
37
+ else {
38
+ criteria.push(criterion.trim());
39
+ }
40
+ }
41
+ const notes = await input({
42
+ message: "Additional notes (optional):",
43
+ });
44
+ const title = iWant.trim();
45
+ const body = `## User Story
46
+
47
+ **As a** ${asA.trim()}
48
+ **I want to** ${iWant.trim()}
49
+ **So that** ${soThat.trim()}
50
+
51
+ ## Acceptance Criteria
52
+
53
+ ${criteria.map((c) => `- [ ] ${c}`).join("\n")}
54
+ ${notes.trim() ? `\n## Notes\n\n${notes.trim()}` : ""}`;
55
+ return { title, body };
56
+ }
57
+ async function collectBug() {
58
+ const description = await input({
59
+ message: "What happened?",
60
+ validate: (val) => val.trim().length > 0 || "Required",
61
+ });
62
+ const expected = await input({
63
+ message: "What was expected?",
64
+ validate: (val) => val.trim().length > 0 || "Required",
65
+ });
66
+ console.log(dim("\nSteps to reproduce (one per line). Empty line to finish:\n"));
67
+ const steps = [];
68
+ let adding = true;
69
+ while (adding) {
70
+ const step = await input({
71
+ message: ` ${steps.length + 1}.${steps.length > 0 ? " (blank to finish)" : ""}`,
72
+ });
73
+ if (!step.trim()) {
74
+ adding = false;
75
+ }
76
+ else {
77
+ steps.push(step.trim());
78
+ }
79
+ }
80
+ const environment = await input({
81
+ message: "Environment (browser, OS, version - optional):",
82
+ });
83
+ const logs = await input({
84
+ message: "Error logs or screenshots URL (optional):",
85
+ });
86
+ const title = description.trim();
87
+ const body = `## Bug Report
88
+
89
+ ### Description
90
+ ${description.trim()}
91
+
92
+ ### Expected Behavior
93
+ ${expected.trim()}
94
+
95
+ ### Steps to Reproduce
96
+ ${steps.map((s, i) => `${i + 1}. ${s}`).join("\n")}
97
+ ${environment.trim() ? `\n### Environment\n${environment.trim()}` : ""}
98
+ ${logs.trim() ? `\n### Logs / Screenshots\n${logs.trim()}` : ""}`;
99
+ return { title, body };
100
+ }
101
+ async function collectTask() {
102
+ const what = await input({
103
+ message: "What needs to be done?",
104
+ validate: (val) => val.trim().length > 0 || "Required",
105
+ });
106
+ const why = await input({
107
+ message: "Why is this needed?",
108
+ });
109
+ console.log(dim("\nDone criteria (one per line). Empty line to finish:\n"));
110
+ const criteria = [];
111
+ let adding = true;
112
+ while (adding) {
113
+ const criterion = await input({
114
+ message: ` ${criteria.length + 1}.${criteria.length > 0 ? " (blank to finish)" : ""}`,
115
+ });
116
+ if (!criterion.trim()) {
117
+ adding = false;
118
+ }
119
+ else {
120
+ criteria.push(criterion.trim());
121
+ }
122
+ }
123
+ const title = what.trim();
124
+ const body = `## Task
125
+
126
+ ### Description
127
+ ${what.trim()}
128
+ ${why.trim() ? `\n### Context\n${why.trim()}` : ""}
129
+
130
+ ### Done Criteria
131
+
132
+ ${criteria.map((c) => `- [ ] ${c}`).join("\n")}`;
133
+ return { title, body };
134
+ }
135
+ async function collectSpike() {
136
+ const question = await input({
137
+ message: "What question needs to be answered?",
138
+ validate: (val) => val.trim().length > 0 || "Required",
139
+ });
140
+ const timebox = await select({
141
+ message: "Timebox:",
142
+ choices: [
143
+ { value: "2 hours", name: "2 hours" },
144
+ { value: "4 hours", name: "4 hours" },
145
+ { value: "1 day", name: "1 day" },
146
+ { value: "2 days", name: "2 days" },
147
+ ],
148
+ });
149
+ const output = await select({
150
+ message: "Expected output:",
151
+ choices: [
152
+ { value: "Document with findings", name: "Document with findings" },
153
+ { value: "Proof of concept", name: "Proof of concept" },
154
+ { value: "Recommendation", name: "Recommendation" },
155
+ { value: "Prototype", name: "Prototype" },
156
+ ],
157
+ });
158
+ const context = await input({
159
+ message: "Background context (optional):",
160
+ });
161
+ const title = question.trim();
162
+ const body = `## Spike
163
+
164
+ ### Question to Answer
165
+ ${question.trim()}
166
+
167
+ ### Timebox
168
+ ${timebox}
169
+
170
+ ### Expected Output
171
+ ${output}
172
+ ${context.trim() ? `\n### Background Context\n${context.trim()}` : ""}
173
+
174
+ ### Findings
175
+ _To be filled after investigation_`;
176
+ return { title, body };
177
+ }
178
+ async function collectTechDebt() {
179
+ const what = await input({
180
+ message: "What technical debt needs to be addressed?",
181
+ validate: (val) => val.trim().length > 0 || "Required",
182
+ });
183
+ const impact = await input({
184
+ message: "Why does it matter? (impact on codebase/team)",
185
+ validate: (val) => val.trim().length > 0 || "Required",
186
+ });
187
+ const approach = await input({
188
+ message: "Proposed approach (optional):",
189
+ });
190
+ const title = what.trim();
191
+ const body = `## Tech Debt
192
+
193
+ ### Description
194
+ ${what.trim()}
195
+
196
+ ### Impact
197
+ ${impact.trim()}
198
+ ${approach.trim() ? `\n### Proposed Approach\n${approach.trim()}` : ""}`;
199
+ return { title, body };
200
+ }
201
+ async function collectIssueData(issueType) {
202
+ switch (issueType.value) {
203
+ case "user-story":
204
+ return collectUserStory();
205
+ case "bug":
206
+ return collectBug();
207
+ case "task":
208
+ return collectTask();
209
+ case "spike":
210
+ return collectSpike();
211
+ case "tech-debt":
212
+ return collectTechDebt();
213
+ default:
214
+ throw new Error(`Unknown issue type: ${issueType.value}`);
215
+ }
216
+ }
217
+ function formatIssuePreview(data) {
218
+ const lines = [
219
+ `${dim("───")} ${bold("Issue Preview")} ${dim("───")}`,
220
+ "",
221
+ `${bold("Type:")} ${data.type.label}`,
222
+ `${bold("Title:")} ${cyan(data.title)}`,
223
+ `${bold("Labels:")} ${data.labels.join(", ")}`,
224
+ "",
225
+ gray("─── Body ───"),
226
+ "",
227
+ data.body,
228
+ "",
229
+ dim("─────────────────────"),
230
+ ];
231
+ return lines.join("\n");
232
+ }
233
+ export async function issueCommand(options = {}) {
234
+ try {
235
+ checkGhInstalled();
236
+ const config = loadConfig();
237
+ // Select issue type
238
+ const issueType = await select({
239
+ message: "Select issue type:",
240
+ choices: ISSUE_TYPES.map((t) => ({
241
+ value: t,
242
+ name: `${t.label}`,
243
+ })),
244
+ });
245
+ // Collect type-specific data
246
+ console.log("");
247
+ const { title, body } = await collectIssueData(issueType);
248
+ // Determine labels
249
+ const labels = [issueType.labelColor];
250
+ // Build issue data
251
+ const issueData = {
252
+ type: issueType,
253
+ title,
254
+ body,
255
+ labels,
256
+ };
257
+ // Preview
258
+ console.log("\n" + formatIssuePreview(issueData));
259
+ if (options.dryRun) {
260
+ console.log(dim("[dry-run] No issue created."));
261
+ return;
262
+ }
263
+ const confirmed = await confirm({
264
+ message: "Create this issue?",
265
+ default: true,
266
+ });
267
+ if (!confirmed) {
268
+ console.log("Aborted.");
269
+ process.exit(0);
270
+ }
271
+ // Create the issue using gh CLI
272
+ const labelArg = labels.length > 0 ? `--label "${labels.join(",")}"` : "";
273
+ const cmd = `gh issue create --title ${JSON.stringify(title)} --body ${JSON.stringify(body)} ${labelArg}`;
274
+ const result = execSync(cmd, { encoding: "utf-8" }).trim();
275
+ // Extract issue number from URL (format: https://github.com/owner/repo/issues/123)
276
+ const issueUrlMatch = result.match(/\/issues\/(\d+)/);
277
+ const issueNumber = issueUrlMatch ? issueUrlMatch[1] : null;
278
+ console.log(green(`\n✓ Issue created: ${result}`));
279
+ // Offer to create a branch
280
+ const createBranch = await confirm({
281
+ message: "Create a branch and start working on this issue?",
282
+ default: true,
283
+ });
284
+ if (createBranch) {
285
+ const description = await input({
286
+ message: "Short branch description:",
287
+ default: title
288
+ .toLowerCase()
289
+ .replace(/[^a-z0-9]+/g, "-")
290
+ .replace(/^-|-$/g, "")
291
+ .slice(0, 50),
292
+ validate: (val) => val.trim().length > 0 || "Description is required",
293
+ });
294
+ const ticketPart = issueNumber ? `#${issueNumber}` : "UNTRACKED";
295
+ const kebab = description
296
+ .trim()
297
+ .toLowerCase()
298
+ .replace(/[^a-z0-9]+/g, "-")
299
+ .replace(/^-|-$/g, "");
300
+ const branchName = `${issueType.branchType}/${ticketPart}_${kebab}`;
301
+ console.log(`\n${dim("Branch:")} ${cyan(branchName)}`);
302
+ const confirmBranch = await confirm({
303
+ message: "Create this branch?",
304
+ default: true,
305
+ });
306
+ if (confirmBranch) {
307
+ execSync(`git checkout -b ${branchName}`, { stdio: "inherit" });
308
+ console.log(green(`✓ Branch created: ${branchName}`));
309
+ // Offer test plan for user stories and bugs
310
+ if (issueType.value === "user-story" || issueType.value === "bug") {
311
+ const addTestPlan = await confirm({
312
+ message: "Add test plan steps?",
313
+ default: false,
314
+ });
315
+ if (addTestPlan) {
316
+ const steps = [];
317
+ console.log(dim("\nAdd testing steps. Empty line to finish.\n"));
318
+ let adding = true;
319
+ while (adding) {
320
+ const step = await input({
321
+ message: `Step ${steps.length + 1}${steps.length > 0 ? " (blank to finish)" : ""}:`,
322
+ });
323
+ if (!step.trim()) {
324
+ adding = false;
325
+ }
326
+ else {
327
+ steps.push(step.trim());
328
+ }
329
+ }
330
+ if (steps.length > 0) {
331
+ setTestPlan(branchName, steps);
332
+ console.log(green(`✓ Saved ${steps.length} test plan step${steps.length > 1 ? "s" : ""}`));
333
+ }
334
+ }
335
+ }
336
+ console.log(dim("\nYou're ready to start working!"));
337
+ console.log(dim(` Make changes, then: ${cyan("devflow commit")}`));
338
+ }
339
+ }
340
+ }
341
+ catch (error) {
342
+ if (error.name === "ExitPromptError") {
343
+ console.log("\nCancelled.");
344
+ process.exit(0);
345
+ }
346
+ throw error;
347
+ }
348
+ }
349
+ //# sourceMappingURL=issue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue.js","sourceRoot":"","sources":["../../src/commands/issue.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -22,6 +22,7 @@ import { logCommand } from "./commands/log.js";
22
22
  import { statsCommand } from "./commands/stats.js";
23
23
  import { lintConfigCommand } from "./commands/lint-config.js";
24
24
  import { commentsCommand } from "./commands/comments.js";
25
+ import { issueCommand } from "./commands/issue.js";
25
26
  import { loadPlugins } from "./plugins.js";
26
27
  import { checkForUpdates } from "./update-notifier.js";
27
28
  const pkg = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf-8"));
@@ -93,6 +94,12 @@ program
93
94
  .option("--resolved", "Show only resolved comments")
94
95
  .option("--unresolved", "Show only unresolved comments")
95
96
  .action((opts) => commentsCommand(opts));
97
+ program
98
+ .command("issue")
99
+ .alias("i")
100
+ .description("Create a GitHub issue with Scrum templates (story, bug, task, spike, tech-debt)")
101
+ .option("--dry-run", "Preview without creating the issue")
102
+ .action((opts) => issueCommand(opts));
96
103
  program
97
104
  .command("stash")
98
105
  .alias("st")
@@ -167,7 +174,7 @@ function generateBashCompletions() {
167
174
  # Add to ~/.bashrc: eval "$(devflow completions --shell bash)"
168
175
  _devflow_completions() {
169
176
  local cur="\${COMP_WORDS[COMP_CWORD]}"
170
- local commands="branch commit pr amend undo fixup merge release review comments stash worktree log status test-plan changelog cleanup stats lint-config init doctor completions"
177
+ local commands="branch commit pr amend undo fixup merge release review comments issue stash worktree log status test-plan changelog cleanup stats lint-config init doctor completions"
171
178
 
172
179
  if [ "\${COMP_CWORD}" -eq 1 ]; then
173
180
  COMPREPLY=($(compgen -W "\${commands}" -- "\${cur}"))
@@ -193,6 +200,7 @@ _devflow() {
193
200
  'release:Create a release (alias: rel)'
194
201
  'review:List and interact with PRs (alias: rv)'
195
202
  'comments:Show PR reviews and inline comments (alias: cm)'
203
+ 'issue:Create GitHub issue with Scrum templates (alias: i)'
196
204
  'stash:Manage named stashes (alias: st)'
197
205
  'worktree:Manage git worktrees (alias: wt)'
198
206
  'log:Interactive commit log (alias: l)'
@@ -217,7 +225,7 @@ _devflow() {
217
225
  ;;
218
226
  args)
219
227
  case "\${words[1]}" in
220
- branch|commit|pr|amend|undo|fixup|merge|cleanup|changelog)
228
+ branch|commit|pr|amend|undo|fixup|merge|cleanup|changelog|issue)
221
229
  _arguments '--dry-run[Preview without executing]'
222
230
  ;;
223
231
  completions)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alejandrochaves/devflow-cli",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "Interactive CLI for branch creation, conventional commits, and PR management",
5
5
  "type": "module",
6
6
  "bin": {