claude-cli-advanced-starter-pack 1.8.3 → 1.8.4
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 +6 -2
- package/bin/gtask.js +24 -0
- package/package.json +1 -1
- package/src/commands/global-reinstall.js +243 -0
- package/src/commands/global-uninstall.js +229 -0
- package/src/commands/init.js +224 -0
- package/src/commands/uninstall.js +8 -1
- package/src/data/releases.json +15 -0
- package/src/utils/global-registry.js +230 -0
- package/src/utils/paths.js +146 -0
- package/templates/commands/create-task-list-for-issue.template.md +216 -0
- package/templates/commands/create-task-list.template.md +280 -82
- package/templates/commands/menu-issues-list.template.md +288 -0
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Start working on a GitHub issue by number with full workflow
|
|
3
|
+
type: utility
|
|
4
|
+
complexity: simple
|
|
5
|
+
model: haiku
|
|
6
|
+
argument-hint: <issue-number>
|
|
7
|
+
allowed-tools:
|
|
8
|
+
- Bash
|
|
9
|
+
- AskUserQuestion
|
|
10
|
+
- Task
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# /create-task-list-for-issue - Quick Issue Start
|
|
14
|
+
|
|
15
|
+
**Start working on a GitHub issue by number. Confirms details, then runs full `/create-task-list` workflow.**
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## USAGE
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
/create-task-list-for-issue 123
|
|
23
|
+
/create-task-list-for-issue #45
|
|
24
|
+
/create-task-list-for-issue 7
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## EXECUTION
|
|
30
|
+
|
|
31
|
+
### Step 1: Parse Issue Number
|
|
32
|
+
|
|
33
|
+
Extract issue number from `$ARGUMENTS`:
|
|
34
|
+
- Strip `#` prefix if present
|
|
35
|
+
- Validate it's a positive integer
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
If no issue number provided:
|
|
39
|
+
→ Use AskUserQuestion: "Which issue number would you like to work on?"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
### Step 2: Fetch Issue Details
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
gh issue view [NUMBER] --json number,title,body,createdAt,labels,url
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
### Step 3: Detect Issue Format
|
|
53
|
+
|
|
54
|
+
Check if the issue body contains BOTH of these indicators of `/github-task` format:
|
|
55
|
+
- `## Acceptance Criteria` OR `## Task Checklist` section
|
|
56
|
+
- `## Suggested Implementation` OR `## Implementation Approach` section
|
|
57
|
+
|
|
58
|
+
**Set `IS_TASK_READY`** = true if both indicators found, false otherwise.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
### Step 4: Display Issue Confirmation
|
|
63
|
+
|
|
64
|
+
**If IS_TASK_READY = true:**
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
╔═══════════════════════════════════════════════════════════════╗
|
|
68
|
+
║ Issue #[NUMBER] ✓ Task-Ready ║
|
|
69
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
70
|
+
║ ║
|
|
71
|
+
║ [Issue Title - max 50 chars] ║
|
|
72
|
+
║ ║
|
|
73
|
+
║ Created: [MM/DD/YYYY] ║
|
|
74
|
+
║ Labels: [label1, label2, ...] ║
|
|
75
|
+
║ URL: [github url] ║
|
|
76
|
+
║ ║
|
|
77
|
+
║ Format: Has task checklist - will use existing tasks ║
|
|
78
|
+
║ ║
|
|
79
|
+
║ Tasks found: ║
|
|
80
|
+
║ • [Task 1 from checklist] ║
|
|
81
|
+
║ • [Task 2 from checklist] ║
|
|
82
|
+
║ • ... ([N] total) ║
|
|
83
|
+
║ ║
|
|
84
|
+
╚═══════════════════════════════════════════════════════════════╝
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**If IS_TASK_READY = false:**
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
╔═══════════════════════════════════════════════════════════════╗
|
|
91
|
+
║ Issue #[NUMBER] ⚠ Needs Analysis ║
|
|
92
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
93
|
+
║ ║
|
|
94
|
+
║ [Issue Title - max 50 chars] ║
|
|
95
|
+
║ ║
|
|
96
|
+
║ Created: [MM/DD/YYYY] ║
|
|
97
|
+
║ Labels: [label1, label2, ...] ║
|
|
98
|
+
║ URL: [github url] ║
|
|
99
|
+
║ ║
|
|
100
|
+
║ Format: No task checklist - will generate via exploration ║
|
|
101
|
+
║ ║
|
|
102
|
+
║ Description preview: ║
|
|
103
|
+
║ [First 100 chars of issue body...] ║
|
|
104
|
+
║ ║
|
|
105
|
+
╚═══════════════════════════════════════════════════════════════╝
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
### Step 5: Confirm and Proceed
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
header: "Start"
|
|
114
|
+
question: "Start working on this issue?"
|
|
115
|
+
options:
|
|
116
|
+
- label: "Y - Yes, proceed"
|
|
117
|
+
description: "Run full /create-task-list workflow"
|
|
118
|
+
- label: "V - View full details"
|
|
119
|
+
description: "Show complete issue body first"
|
|
120
|
+
- label: "N - Cancel"
|
|
121
|
+
description: "Return without starting"
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**If user selects V (View):**
|
|
125
|
+
- Run `gh issue view [NUMBER]` and display full body
|
|
126
|
+
- Then re-ask the confirmation question (Y/N only)
|
|
127
|
+
|
|
128
|
+
**If user selects N (Cancel):**
|
|
129
|
+
- Exit command
|
|
130
|
+
|
|
131
|
+
**If user selects Y (Yes):**
|
|
132
|
+
- Proceed to Step 6
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
### Step 6: Run Full /create-task-list Workflow
|
|
137
|
+
|
|
138
|
+
**If IS_TASK_READY = true:**
|
|
139
|
+
|
|
140
|
+
Display:
|
|
141
|
+
```
|
|
142
|
+
╔═══════════════════════════════════════════════════════════════╗
|
|
143
|
+
║ 📋 Starting Issue #[NUMBER] (Task-Ready) ║
|
|
144
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
145
|
+
║ Using existing task checklist from issue ║
|
|
146
|
+
║ Running full /create-task-list workflow for: ║
|
|
147
|
+
║ • Codebase exploration & context ║
|
|
148
|
+
║ • Testing configuration (Ralph loop, E2E) ║
|
|
149
|
+
║ • Workflow setup (branch, board sync) ║
|
|
150
|
+
╚═══════════════════════════════════════════════════════════════╝
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Run: `/create-task-list for issue #[NUMBER] --use-existing-tasks`
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
**If IS_TASK_READY = false:**
|
|
158
|
+
|
|
159
|
+
Display:
|
|
160
|
+
```
|
|
161
|
+
╔═══════════════════════════════════════════════════════════════╗
|
|
162
|
+
║ 📋 Starting Issue #[NUMBER] (Needs Analysis) ║
|
|
163
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
164
|
+
║ Running full /create-task-list workflow for: ║
|
|
165
|
+
║ • Task generation via codebase exploration ║
|
|
166
|
+
║ • Testing configuration (Ralph loop, E2E) ║
|
|
167
|
+
║ • Workflow setup (branch, board sync) ║
|
|
168
|
+
║ • Option to update issue with generated tasks ║
|
|
169
|
+
╚═══════════════════════════════════════════════════════════════╝
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Run: `/create-task-list for issue #[NUMBER]`
|
|
173
|
+
|
|
174
|
+
After `/create-task-list` completes and generates tasks, ask:
|
|
175
|
+
|
|
176
|
+
```
|
|
177
|
+
header: "Update"
|
|
178
|
+
question: "Update GitHub issue with generated task list?"
|
|
179
|
+
options:
|
|
180
|
+
- label: "Y - Yes, update issue"
|
|
181
|
+
description: "Add task checklist to issue body"
|
|
182
|
+
- label: "N - No, just implement"
|
|
183
|
+
description: "Keep issue as-is, start work"
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
If user selects Y:
|
|
187
|
+
```bash
|
|
188
|
+
# Append task checklist to issue body
|
|
189
|
+
gh issue edit [NUMBER] --body "$(gh issue view [NUMBER] --json body -q .body)
|
|
190
|
+
|
|
191
|
+
## Task Checklist (Auto-generated)
|
|
192
|
+
|
|
193
|
+
- [ ] Task 1
|
|
194
|
+
- [ ] Task 2
|
|
195
|
+
..."
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## ERROR HANDLING
|
|
201
|
+
|
|
202
|
+
| Error | Action |
|
|
203
|
+
|-------|--------|
|
|
204
|
+
| Issue not found | Display "Issue #[N] not found" and exit |
|
|
205
|
+
| gh not authenticated | Show `gh auth login` instructions |
|
|
206
|
+
| Invalid issue number | Ask user to provide valid number |
|
|
207
|
+
| Network error | Show retry option |
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## RELATED COMMANDS
|
|
212
|
+
|
|
213
|
+
- `/menu-issues-list` - Browse all open issues with menu
|
|
214
|
+
- `/create-task-list` - Create task list from any prompt
|
|
215
|
+
- `/github-task-start` - Start working on issue (simpler flow)
|
|
216
|
+
- `/github-update` - Sync with project board
|
|
@@ -27,11 +27,32 @@ allowed-tools:
|
|
|
27
27
|
```bash
|
|
28
28
|
/create-task-list fix the login page redirect bug
|
|
29
29
|
/create-task-list add dark mode to the settings panel
|
|
30
|
+
/create-task-list for issue #123 # Analyze issue, generate tasks
|
|
31
|
+
/create-task-list for issue #123 --use-existing-tasks # Use issue's task checklist
|
|
30
32
|
/create-task-list
|
|
31
33
|
```
|
|
32
34
|
|
|
33
35
|
---
|
|
34
36
|
|
|
37
|
+
## FLAGS & ARGUMENTS
|
|
38
|
+
|
|
39
|
+
| Argument | Description |
|
|
40
|
+
|----------|-------------|
|
|
41
|
+
| `for issue #[N]` | Pull context from GitHub issue #N |
|
|
42
|
+
| `--use-existing-tasks` | Skip task generation, use issue's existing `## Task Checklist` |
|
|
43
|
+
|
|
44
|
+
**When `for issue #[NUMBER]` is specified:**
|
|
45
|
+
1. Fetch issue via `gh issue view [NUMBER] --json number,title,body,labels`
|
|
46
|
+
2. Use issue title + body as the task prompt
|
|
47
|
+
3. Extract labels for context (frontend, backend, P1, etc.)
|
|
48
|
+
|
|
49
|
+
**When `--use-existing-tasks` is specified:**
|
|
50
|
+
1. Parse existing checklist from `## Task Checklist` or `## Acceptance Criteria`
|
|
51
|
+
2. Skip Step 5 (task generation) - use parsed tasks directly
|
|
52
|
+
3. Still run full workflow: exploration, testing questions, workflow options
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
35
56
|
## PERSISTENT INSTRUCTIONS
|
|
36
57
|
|
|
37
58
|
**IMPORTANT**: Reference the persistent testing/deployment rules from `.claude/task-lists/TESTING_RULES.md`.
|
|
@@ -142,15 +163,53 @@ These rules govern:
|
|
|
142
163
|
|
|
143
164
|
---
|
|
144
165
|
|
|
145
|
-
### Step 1: Capture User Prompt
|
|
166
|
+
### Step 1: Capture User Prompt & Parse Flags
|
|
146
167
|
|
|
147
168
|
```
|
|
148
169
|
PROMPT: $ARGUMENTS
|
|
149
170
|
|
|
171
|
+
Parse for special patterns:
|
|
172
|
+
- "for issue #[NUMBER]" → Set GITHUB_ISSUE_NUMBER, fetch issue
|
|
173
|
+
- "--use-existing-tasks" → Set USE_EXISTING_TASKS=true
|
|
174
|
+
|
|
150
175
|
If no arguments provided:
|
|
151
176
|
→ Use AskUserQuestion: "What would you like to accomplish today?"
|
|
152
177
|
```
|
|
153
178
|
|
|
179
|
+
**If GITHUB_ISSUE_NUMBER is set:**
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
# Fetch full issue details
|
|
183
|
+
gh issue view [NUMBER] --json number,title,body,labels,url
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
**Store issue data:**
|
|
187
|
+
```json
|
|
188
|
+
{
|
|
189
|
+
"issue_number": [NUMBER],
|
|
190
|
+
"issue_title": "[title]",
|
|
191
|
+
"issue_body": "[body]",
|
|
192
|
+
"issue_labels": ["label1", "label2"],
|
|
193
|
+
"issue_url": "[url]"
|
|
194
|
+
}
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**Set PROMPT** to: `[Issue Title]: [First 500 chars of body]`
|
|
198
|
+
|
|
199
|
+
**If USE_EXISTING_TASKS is true:**
|
|
200
|
+
1. Parse `## Task Checklist` or `## Acceptance Criteria` from issue body
|
|
201
|
+
2. Extract checkbox items: `- [ ] Task description`
|
|
202
|
+
3. Store as `EXISTING_TASKS` array
|
|
203
|
+
4. Display:
|
|
204
|
+
```
|
|
205
|
+
╔═══════════════════════════════════════════════════════════════╗
|
|
206
|
+
║ 📋 Using Existing Tasks from Issue #[NUMBER] ║
|
|
207
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
208
|
+
║ Found [N] tasks in issue checklist ║
|
|
209
|
+
║ Will skip task generation, use these tasks directly ║
|
|
210
|
+
╚═══════════════════════════════════════════════════════════════╝
|
|
211
|
+
```
|
|
212
|
+
|
|
154
213
|
### Step 2: Context Assessment
|
|
155
214
|
|
|
156
215
|
Evaluate the prompt for:
|
|
@@ -289,18 +348,50 @@ options:
|
|
|
289
348
|
**Question 2: SKIP** (E2E not configured - skip this question)
|
|
290
349
|
{{/if}}
|
|
291
350
|
|
|
292
|
-
|
|
351
|
+
---
|
|
352
|
+
|
|
353
|
+
### Step 4b: MANDATORY Workflow Questions (ALWAYS ASK)
|
|
354
|
+
|
|
355
|
+
**CRITICAL**: After presenting findings, you MUST ask these 4 questions using AskUserQuestion.
|
|
356
|
+
Users can answer with combinations like: `1, 2` or `1 & 3` or `1,2,4` or `all` or `none`.
|
|
357
|
+
|
|
358
|
+
**Parse combination answers**: If user responds with numbers (e.g., "1, 2" or "1 & 3 & 4"), enable ALL selected options.
|
|
359
|
+
|
|
293
360
|
```
|
|
294
|
-
header: "
|
|
295
|
-
question: "
|
|
361
|
+
header: "Workflow Options"
|
|
362
|
+
question: "Select workflow options (combine with commas: 1,2 or 1 & 3):\n\n1. Create GitHub Issue on remote repo\n2. Add issue to Project Board\n3. Create new branch before implementing\n4. Create new git worktree\n\nWhich options? (e.g., '1,2' or 'all' or 'none')"
|
|
296
363
|
options:
|
|
297
|
-
- label: "
|
|
298
|
-
description: "
|
|
299
|
-
- label: "
|
|
300
|
-
description: "
|
|
301
|
-
|
|
364
|
+
- label: "1 - GitHub Issue only"
|
|
365
|
+
description: "Create tracked issue with codebase analysis"
|
|
366
|
+
- label: "1, 2 - Issue + Project Board (Recommended)"
|
|
367
|
+
description: "Create issue AND add to project board"
|
|
368
|
+
- label: "1, 2, 3 - Issue + Board + Branch"
|
|
369
|
+
description: "Full workflow: issue, board, and new branch"
|
|
370
|
+
- label: "All (1, 2, 3, 4)"
|
|
371
|
+
description: "Everything: issue, board, branch, and worktree"
|
|
372
|
+
- label: "None - Local only"
|
|
373
|
+
description: "Skip all GitHub integration, just local TodoWrite"
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
**Parse user's selection** and store flags:
|
|
377
|
+
- `CREATE_GITHUB_ISSUE`: true if "1" selected
|
|
378
|
+
- `ADD_TO_PROJECT_BOARD`: true if "2" selected
|
|
379
|
+
- `CREATE_NEW_BRANCH`: true if "3" selected
|
|
380
|
+
- `CREATE_WORKTREE`: true if "4" selected
|
|
381
|
+
|
|
382
|
+
**Combination Parsing Rules**:
|
|
383
|
+
| User Input | Parsed Options |
|
|
384
|
+
|------------|----------------|
|
|
385
|
+
| `1` | Issue only |
|
|
386
|
+
| `1, 2` or `1,2` or `1 & 2` | Issue + Board |
|
|
387
|
+
| `1,2,3` or `1, 2, 3` | Issue + Board + Branch |
|
|
388
|
+
| `1 & 2 & 4` | Issue + Board + Worktree |
|
|
389
|
+
| `all` or `1,2,3,4` | All options |
|
|
390
|
+
| `none` or `0` | No GitHub integration |
|
|
302
391
|
|
|
303
|
-
|
|
392
|
+
---
|
|
393
|
+
|
|
394
|
+
**Question 4: Confirm Plan**
|
|
304
395
|
```
|
|
305
396
|
header: "Plan"
|
|
306
397
|
question: "Does this approach look correct, or should I adjust?"
|
|
@@ -330,6 +421,25 @@ options:
|
|
|
330
421
|
|
|
331
422
|
### Step 5: Create Task List
|
|
332
423
|
|
|
424
|
+
**If USE_EXISTING_TASKS is true (from `--use-existing-tasks` flag):**
|
|
425
|
+
|
|
426
|
+
Skip task generation. Use the tasks parsed from the GitHub issue in Step 1.
|
|
427
|
+
|
|
428
|
+
```
|
|
429
|
+
╔═══════════════════════════════════════════════════════════════╗
|
|
430
|
+
║ 📋 Using Existing Tasks from Issue #[NUMBER] ║
|
|
431
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
432
|
+
║ Skipping task generation - using issue's checklist ║
|
|
433
|
+
║ Tasks will be wrapped with testing/deployment context ║
|
|
434
|
+
╚═══════════════════════════════════════════════════════════════╝
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
**Convert EXISTING_TASKS to TodoWrite format**, wrapping with context tasks (Task 0 for rules, final task for commit).
|
|
438
|
+
|
|
439
|
+
---
|
|
440
|
+
|
|
441
|
+
**If USE_EXISTING_TASKS is false (default):**
|
|
442
|
+
|
|
333
443
|
Use **TaskCreate** to build the task list with Claude's native system.
|
|
334
444
|
|
|
335
445
|
**Task List Structure** (adapts based on TESTING_CONFIGURED status):
|
|
@@ -408,13 +518,81 @@ The user should manually verify changes work before committing.
|
|
|
408
518
|
|
|
409
519
|
---
|
|
410
520
|
|
|
411
|
-
### Step 6:
|
|
521
|
+
### Step 6: Execute Workflow Options (Based on Step 4b Selection)
|
|
522
|
+
|
|
523
|
+
Execute the workflow options selected by the user in Step 4b. Process in this order:
|
|
524
|
+
|
|
525
|
+
---
|
|
526
|
+
|
|
527
|
+
#### Step 6a: Create New Branch (if CREATE_NEW_BRANCH = true)
|
|
528
|
+
|
|
529
|
+
**Before any GitHub operations, create the working branch:**
|
|
530
|
+
|
|
531
|
+
```bash
|
|
532
|
+
# Generate branch name from task description
|
|
533
|
+
# Format: feature/[short-description] or fix/[short-description]
|
|
534
|
+
|
|
535
|
+
gh api repos/{owner}/{repo} --jq '.default_branch' # Get default branch
|
|
536
|
+
git checkout -b [branch-name]
|
|
537
|
+
git push -u origin [branch-name]
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
**Display confirmation:**
|
|
541
|
+
```
|
|
542
|
+
╔═══════════════════════════════════════════════════════════════╗
|
|
543
|
+
║ ✅ New Branch Created ║
|
|
544
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
545
|
+
║ Branch: [branch-name] ║
|
|
546
|
+
║ Based on: [default-branch] ║
|
|
547
|
+
║ Pushed to: origin/[branch-name] ║
|
|
548
|
+
╚═══════════════════════════════════════════════════════════════╝
|
|
549
|
+
```
|
|
550
|
+
|
|
551
|
+
---
|
|
552
|
+
|
|
553
|
+
#### Step 6b: Create Git Worktree (if CREATE_WORKTREE = true)
|
|
554
|
+
|
|
555
|
+
**Create isolated worktree for parallel development:**
|
|
556
|
+
|
|
557
|
+
```bash
|
|
558
|
+
# Create worktree directory
|
|
559
|
+
git worktree add ../[project-name]-[branch-name] [branch-name]
|
|
560
|
+
|
|
561
|
+
# Display path to worktree
|
|
562
|
+
```
|
|
563
|
+
|
|
564
|
+
**Display confirmation:**
|
|
565
|
+
```
|
|
566
|
+
╔═══════════════════════════════════════════════════════════════╗
|
|
567
|
+
║ ✅ Git Worktree Created ║
|
|
568
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
569
|
+
║ Location: ../[project-name]-[branch-name] ║
|
|
570
|
+
║ Branch: [branch-name] ║
|
|
571
|
+
║ ║
|
|
572
|
+
║ To work in worktree: ║
|
|
573
|
+
║ cd ../[project-name]-[branch-name] ║
|
|
574
|
+
║ ║
|
|
575
|
+
║ To remove when done: ║
|
|
576
|
+
║ git worktree remove ../[project-name]-[branch-name] ║
|
|
577
|
+
╚═══════════════════════════════════════════════════════════════╝
|
|
578
|
+
```
|
|
579
|
+
|
|
580
|
+
**Ask user:**
|
|
581
|
+
```
|
|
582
|
+
header: "Worktree"
|
|
583
|
+
question: "Worktree created. Work in worktree or current directory?"
|
|
584
|
+
options:
|
|
585
|
+
- label: "Continue in current directory"
|
|
586
|
+
description: "Stay here, worktree is for manual use"
|
|
587
|
+
- label: "Switch to worktree"
|
|
588
|
+
description: "I'll restart Claude Code in the worktree directory"
|
|
589
|
+
```
|
|
412
590
|
|
|
413
|
-
|
|
591
|
+
---
|
|
414
592
|
|
|
415
|
-
#### Step
|
|
593
|
+
#### Step 6c: Create GitHub Issue (if CREATE_GITHUB_ISSUE = true)
|
|
416
594
|
|
|
417
|
-
**Present issue preview
|
|
595
|
+
**Present issue preview:**
|
|
418
596
|
|
|
419
597
|
```markdown
|
|
420
598
|
## GitHub Issue Preview
|
|
@@ -423,6 +601,7 @@ If user selected GitHub integration:
|
|
|
423
601
|
**Priority:** P2-Medium (or determined from analysis)
|
|
424
602
|
**Labels:** [Determined from exploration - frontend, backend, feature, bug, etc.]
|
|
425
603
|
**Stack:** [Frontend only | Backend only | Both]
|
|
604
|
+
**Branch:** [branch-name if created, else "will create on first commit"]
|
|
426
605
|
|
|
427
606
|
**Description Preview:**
|
|
428
607
|
> [First 200 characters of the analysis from Step 3...]
|
|
@@ -433,95 +612,109 @@ If user selected GitHub integration:
|
|
|
433
612
|
- [ ] ...
|
|
434
613
|
```
|
|
435
614
|
|
|
436
|
-
**
|
|
437
|
-
```
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
description: "Create the issue and enable auto-progress tracking"
|
|
443
|
-
- label: "Modify Details"
|
|
444
|
-
description: "I want to change the title, priority, or labels"
|
|
445
|
-
- label: "Skip GitHub"
|
|
446
|
-
description: "Don't create issue, use local TodoWrite only"
|
|
447
|
-
```
|
|
615
|
+
**Create the issue:**
|
|
616
|
+
```bash
|
|
617
|
+
gh issue create \
|
|
618
|
+
--title "[Task description]" \
|
|
619
|
+
--body "$(cat <<'EOF'
|
|
620
|
+
## Description
|
|
448
621
|
|
|
449
|
-
|
|
450
|
-
- **"Yes - Create Issue"**: Proceed to create the issue (Step 6b)
|
|
451
|
-
- **"Modify Details"**: Ask which fields to change, then show preview again
|
|
452
|
-
- **"Skip GitHub"**: Skip to Step 7, note that GitHub tracking is disabled
|
|
622
|
+
[User's original prompt]
|
|
453
623
|
|
|
454
|
-
|
|
624
|
+
## Codebase Analysis
|
|
455
625
|
|
|
456
|
-
|
|
626
|
+
[Include findings from Step 3 exploration agents]
|
|
457
627
|
|
|
458
|
-
|
|
459
|
-
```bash
|
|
460
|
-
/github-create-task --batch-mode
|
|
628
|
+
## Task Checklist
|
|
461
629
|
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
QA: [Required if P0/P1, else Not Required]
|
|
466
|
-
Stack: [Frontend only|Backend only|Both]
|
|
630
|
+
[Mirror the TodoWrite tasks as checkboxes]
|
|
631
|
+
- [ ] Task 1: ...
|
|
632
|
+
- [ ] Task 2: ...
|
|
467
633
|
|
|
468
|
-
|
|
634
|
+
---
|
|
635
|
+
Generated by `/create-task-list`
|
|
636
|
+
EOF
|
|
637
|
+
)" \
|
|
638
|
+
--label "[labels]"
|
|
639
|
+
```
|
|
640
|
+
|
|
641
|
+
**Store issue number:**
|
|
642
|
+
```json
|
|
643
|
+
// Write to .claude/task-lists/session-{timestamp}.json
|
|
644
|
+
{
|
|
645
|
+
"github_issue": {
|
|
646
|
+
"number": [ISSUE_NUM],
|
|
647
|
+
"url": "[ISSUE_URL]",
|
|
648
|
+
"created_at": "[ISO timestamp]"
|
|
649
|
+
},
|
|
650
|
+
"branch": "[branch-name]",
|
|
651
|
+
"worktree": "[worktree-path or null]"
|
|
652
|
+
}
|
|
653
|
+
```
|
|
469
654
|
|
|
470
|
-
|
|
655
|
+
---
|
|
471
656
|
|
|
472
|
-
|
|
657
|
+
#### Step 6d: Add to Project Board (if ADD_TO_PROJECT_BOARD = true)
|
|
473
658
|
|
|
474
|
-
|
|
659
|
+
**Add the created issue to the configured project board:**
|
|
475
660
|
|
|
476
|
-
|
|
661
|
+
```bash
|
|
662
|
+
# Get project board number from tech-stack.json or .gtaskrc
|
|
663
|
+
# {{versionControl.projectBoard.number}}
|
|
477
664
|
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
665
|
+
gh project item-add [PROJECT_NUMBER] \
|
|
666
|
+
--owner [OWNER] \
|
|
667
|
+
--url [ISSUE_URL]
|
|
668
|
+
```
|
|
482
669
|
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
```
|
|
670
|
+
**Display confirmation:**
|
|
671
|
+
```
|
|
672
|
+
╔═══════════════════════════════════════════════════════════════╗
|
|
673
|
+
║ ✅ Added to Project Board ║
|
|
674
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
675
|
+
║ Issue: #[ISSUE_NUMBER] ║
|
|
676
|
+
║ Board: [PROJECT_NAME] (#[PROJECT_NUMBER]) ║
|
|
677
|
+
║ Status: [Default column - usually "To Do" or "Backlog"] ║
|
|
678
|
+
╚═══════════════════════════════════════════════════════════════╝
|
|
679
|
+
```
|
|
494
680
|
|
|
495
|
-
|
|
496
|
-
- The hook watches for TodoWrite calls
|
|
497
|
-
- When a task is marked `completed`, it updates the GitHub issue:
|
|
498
|
-
- Checks off the corresponding checkbox
|
|
499
|
-
- Adds a progress comment if significant milestone
|
|
500
|
-
- See `.claude/hooks/tools/github-progress-hook.js`
|
|
681
|
+
---
|
|
501
682
|
|
|
502
|
-
#### Step
|
|
683
|
+
#### Step 6e: Summary of Workflow Actions
|
|
503
684
|
|
|
504
|
-
|
|
685
|
+
**Display summary of all completed workflow actions:**
|
|
505
686
|
|
|
506
|
-
```
|
|
687
|
+
```
|
|
507
688
|
╔═══════════════════════════════════════════════════════════════╗
|
|
508
|
-
║
|
|
689
|
+
║ 📋 Workflow Setup Complete ║
|
|
509
690
|
╠═══════════════════════════════════════════════════════════════╣
|
|
510
|
-
|
|
511
|
-
║
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
║
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
║
|
|
691
|
+
{{#if CREATE_NEW_BRANCH}}
|
|
692
|
+
║ ✅ Branch: [branch-name] ║
|
|
693
|
+
{{/if}}
|
|
694
|
+
{{#if CREATE_WORKTREE}}
|
|
695
|
+
║ ✅ Worktree: ../[worktree-path] ║
|
|
696
|
+
{{/if}}
|
|
697
|
+
{{#if CREATE_GITHUB_ISSUE}}
|
|
698
|
+
║ ✅ Issue: #[ISSUE_NUMBER] - [title] ║
|
|
699
|
+
║ URL: [ISSUE_URL] ║
|
|
700
|
+
{{/if}}
|
|
701
|
+
{{#if ADD_TO_PROJECT_BOARD}}
|
|
702
|
+
║ ✅ Project Board: Added to [PROJECT_NAME] ║
|
|
703
|
+
{{/if}}
|
|
704
|
+
{{#unless CREATE_GITHUB_ISSUE}}
|
|
705
|
+
{{#unless CREATE_NEW_BRANCH}}
|
|
706
|
+
{{#unless CREATE_WORKTREE}}
|
|
707
|
+
║ ℹ️ Local task list only (no GitHub integration) ║
|
|
708
|
+
{{/unless}}
|
|
709
|
+
{{/unless}}
|
|
710
|
+
{{/unless}}
|
|
518
711
|
╚═══════════════════════════════════════════════════════════════╝
|
|
519
712
|
```
|
|
520
713
|
|
|
521
|
-
**Ask user how to proceed
|
|
714
|
+
**Ask user how to proceed:**
|
|
522
715
|
```
|
|
523
|
-
header: "
|
|
524
|
-
question: "
|
|
716
|
+
header: "Workflow Ready"
|
|
717
|
+
question: "Workflow setup complete. What would you like to do?"
|
|
525
718
|
options:
|
|
526
719
|
- label: "Continue to Task Execution"
|
|
527
720
|
description: "Proceed with creating and executing the task list"
|
|
@@ -580,7 +773,12 @@ const config = {
|
|
|
580
773
|
- To enable: run `ccasp test-setup`
|
|
581
774
|
{{/if}}
|
|
582
775
|
- Execution Strategy: [Sequential / Grouped / All at once]
|
|
583
|
-
|
|
776
|
+
|
|
777
|
+
**Workflow Setup:**
|
|
778
|
+
- GitHub Issue: [#123 | Not created]
|
|
779
|
+
- Project Board: [Added to Board #X | Not added]
|
|
780
|
+
- Branch: [feature/task-name | Using current branch]
|
|
781
|
+
- Worktree: [../project-branch | Not created]
|
|
584
782
|
```
|
|
585
783
|
|
|
586
784
|
#### Step 8b: Final Confirmation Before Execution
|