@atlashub/smartstack-cli 1.13.2 → 1.14.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/.documentation/agents.html +1 -1
- package/.documentation/apex.html +1 -1
- package/.documentation/business-analyse.html +1 -1
- package/.documentation/cli-commands.html +3 -3
- package/.documentation/commands.html +1 -1
- package/.documentation/efcore.html +1 -1
- package/.documentation/gitflow.html +1 -1
- package/.documentation/hooks.html +1 -1
- package/.documentation/index.html +1 -1
- package/.documentation/init.html +3 -3
- package/.documentation/installation.html +1001 -352
- package/.documentation/ralph-loop.html +1 -1
- package/.documentation/test-web.html +1 -1
- package/README.md +88 -20
- package/dist/index.js +276 -85
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/agents/code-reviewer.md +163 -0
- package/templates/agents/efcore/db-deploy.md +25 -7
- package/templates/agents/efcore/db-reset.md +31 -10
- package/templates/agents/efcore/db-status.md +22 -5
- package/templates/agents/efcore/migration.md +69 -19
- package/templates/agents/gitflow/cleanup.md +8 -1
- package/templates/agents/gitflow/commit.md +7 -5
- package/templates/agents/gitflow/finish.md +6 -4
- package/templates/agents/gitflow/pr.md +8 -1
- package/templates/agents/gitflow/start.md +1 -1
- package/templates/commands/check-version.md +267 -0
- package/templates/commands/efcore/_shared.md +30 -1
- package/templates/commands/efcore/db-reset.md +18 -6
- package/templates/commands/gitflow/OPTIMIZATIONS.md +206 -0
- package/templates/commands/refactor.md +164 -0
- package/templates/project/DependencyInjection.Application.cs.template +25 -0
- package/templates/project/DependencyInjection.Infrastructure.cs.template +61 -0
- package/templates/project/DesignTimeExtensionsDbContextFactory.cs.template +70 -0
- package/templates/project/ExampleEntity.cs.template +116 -0
- package/templates/project/ExampleEntityConfiguration.cs.template +64 -0
- package/templates/project/ExampleService.cs.template +146 -0
- package/templates/project/ExtensionsDbContext.cs.template +41 -0
- package/templates/project/IExtensionsDbContext.cs.template +22 -0
- package/templates/project/Program.cs.template +47 -0
- package/templates/project/README.md +79 -0
- package/templates/ralph/README.md +10 -8
- package/templates/ralph/ralph.config.yaml +2 -2
- package/templates/skills/_shared.md +44 -44
- package/templates/skills/ai-prompt/SKILL.md +55 -55
- package/templates/skills/apex/SKILL.md +235 -0
- package/templates/skills/apex/steps/step-00-init.md +203 -0
- package/templates/skills/apex/steps/step-01-analyze.md +210 -0
- package/templates/skills/apex/steps/step-02-plan.md +217 -0
- package/templates/skills/apex/steps/step-03-execute.md +178 -0
- package/templates/skills/apex/steps/step-04-validate.md +217 -0
- package/templates/skills/apex/steps/step-05-examine.md +207 -0
- package/templates/skills/apex/steps/step-06-resolve.md +181 -0
- package/templates/skills/apex/steps/step-07-tests.md +206 -0
- package/templates/skills/apex/steps/step-08-run-tests.md +207 -0
- package/templates/skills/apex/templates/00-context.md +46 -0
- package/templates/skills/apex/templates/01-analyze.md +63 -0
- package/templates/skills/apex/templates/02-plan.md +63 -0
- package/templates/skills/apex/templates/03-execute.md +34 -0
- package/templates/skills/apex/templates/04-validate.md +61 -0
- package/templates/skills/apex/templates/05-examine.md +58 -0
- package/templates/skills/apex/templates/06-resolve.md +39 -0
- package/templates/skills/apex/templates/07-tests.md +56 -0
- package/templates/skills/apex/templates/08-run-tests.md +41 -0
- package/templates/skills/apex/templates/README.md +69 -0
- package/templates/skills/application/SKILL.md +50 -50
- package/templates/skills/application/templates-backend.md +25 -25
- package/templates/skills/application/templates-frontend.md +43 -43
- package/templates/skills/application/templates-i18n.md +29 -29
- package/templates/skills/application/templates-seed.md +77 -77
- package/templates/skills/business-analyse/SKILL.md +223 -0
- package/templates/skills/business-analyse/_shared.md +258 -0
- package/templates/skills/business-analyse/questionnaire/01-context.md +33 -0
- package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +35 -0
- package/templates/skills/business-analyse/questionnaire/03-scope.md +35 -0
- package/templates/skills/business-analyse/questionnaire/04-data.md +36 -0
- package/templates/skills/business-analyse/questionnaire/05-integrations.md +36 -0
- package/templates/skills/business-analyse/questionnaire/06-security.md +40 -0
- package/templates/skills/business-analyse/questionnaire/07-ui.md +36 -0
- package/templates/skills/business-analyse/questionnaire/08-performance.md +35 -0
- package/templates/skills/business-analyse/questionnaire/09-constraints.md +35 -0
- package/templates/skills/business-analyse/questionnaire/10-documentation.md +35 -0
- package/templates/skills/business-analyse/questionnaire.md +177 -177
- package/templates/skills/business-analyse/react/components.md +340 -0
- package/templates/skills/business-analyse/react/i18n-template.md +245 -0
- package/templates/skills/business-analyse/react/schema.md +151 -0
- package/templates/skills/business-analyse/steps/step-00-init.md +293 -0
- package/templates/skills/business-analyse/steps/step-01-discover.md +267 -0
- package/templates/skills/business-analyse/steps/step-02-analyse.md +243 -0
- package/templates/skills/business-analyse/steps/step-03-specify.md +317 -0
- package/templates/skills/business-analyse/steps/step-04-validate.md +239 -0
- package/templates/skills/business-analyse/steps/step-05-handoff.md +336 -0
- package/templates/skills/business-analyse/steps/step-06-doc-html.md +261 -0
- package/templates/skills/business-analyse/templates/00-context.md +105 -0
- package/templates/skills/business-analyse/templates/frd-brd.md +97 -0
- package/templates/skills/business-analyse/templates/frd-discovery.md +78 -0
- package/templates/skills/business-analyse/templates/frd-handoff.md +118 -0
- package/templates/skills/business-analyse/templates/frd-spec.md +168 -0
- package/templates/skills/business-analyse/templates-frd.md +217 -217
- package/templates/skills/business-analyse/templates-react.md +26 -26
- package/templates/skills/controller/SKILL.md +141 -92
- package/templates/skills/controller/postman-templates.md +15 -15
- package/templates/skills/controller/steps/step-00-init.md +191 -0
- package/templates/skills/controller/steps/step-01-analyze.md +146 -0
- package/templates/skills/controller/steps/step-02-plan.md +176 -0
- package/templates/skills/controller/steps/step-03-generate.md +219 -0
- package/templates/skills/controller/steps/step-04-perms.md +219 -0
- package/templates/skills/controller/steps/step-05-validate.md +107 -0
- package/templates/skills/controller/templates.md +77 -77
- package/templates/skills/documentation/SKILL.md +79 -79
- package/templates/skills/feature-full/SKILL.md +38 -38
- package/templates/skills/gitflow/SKILL.md +277 -0
- package/templates/{commands → skills}/gitflow/_shared.md +20 -20
- package/templates/skills/gitflow/phases/abort.md +173 -0
- package/templates/skills/gitflow/phases/cleanup.md +226 -0
- package/templates/skills/gitflow/phases/status.md +178 -0
- package/templates/skills/gitflow/steps/step-commit.md +255 -0
- package/templates/skills/gitflow/steps/step-finish.md +255 -0
- package/templates/skills/gitflow/steps/step-init.md +209 -0
- package/templates/skills/gitflow/steps/step-merge.md +225 -0
- package/templates/skills/gitflow/steps/step-plan.md +208 -0
- package/templates/skills/gitflow/steps/step-pr.md +235 -0
- package/templates/skills/gitflow/steps/step-start.md +234 -0
- package/templates/skills/gitflow/steps/step-sync.md +200 -0
- package/templates/skills/gitflow/templates/config.json +53 -0
- package/templates/skills/notification/SKILL.md +51 -51
- package/templates/skills/ralph-loop/SKILL.md +228 -0
- package/templates/skills/ralph-loop/steps/step-00-init.md +201 -0
- package/templates/skills/ralph-loop/steps/step-01-task.md +169 -0
- package/templates/skills/ralph-loop/steps/step-02-execute.md +173 -0
- package/templates/skills/ralph-loop/steps/step-03-commit.md +170 -0
- package/templates/skills/ralph-loop/steps/step-04-check.md +162 -0
- package/templates/skills/ralph-loop/steps/step-05-report.md +181 -0
- package/templates/skills/review-code/SKILL.md +219 -0
- package/templates/skills/review-code/references/clean-code-principles.md +140 -0
- package/templates/skills/review-code/references/code-quality-metrics.md +174 -0
- package/templates/skills/review-code/references/feedback-patterns.md +149 -0
- package/templates/skills/review-code/references/security-checklist.md +127 -0
- package/templates/skills/ui-components/SKILL.md +54 -54
- package/templates/skills/workflow/SKILL.md +46 -46
- package/templates/commands/ai-prompt.md +0 -315
- package/templates/commands/apex/1-analyze.md +0 -100
- package/templates/commands/apex/2-plan.md +0 -145
- package/templates/commands/apex/3-execute.md +0 -171
- package/templates/commands/apex/4-examine.md +0 -116
- package/templates/commands/apex/5-tasks.md +0 -209
- package/templates/commands/apex.md +0 -76
- package/templates/commands/application/create.md +0 -362
- package/templates/commands/application/templates-backend.md +0 -463
- package/templates/commands/application/templates-frontend.md +0 -517
- package/templates/commands/application/templates-i18n.md +0 -478
- package/templates/commands/application/templates-seed.md +0 -362
- package/templates/commands/application.md +0 -303
- package/templates/commands/business-analyse/0-orchestrate.md +0 -156
- package/templates/commands/business-analyse/1-init.md +0 -99
- package/templates/commands/business-analyse/2-discover.md +0 -143
- package/templates/commands/business-analyse/3-analyse.md +0 -106
- package/templates/commands/business-analyse/4-specify.md +0 -133
- package/templates/commands/business-analyse/5-validate.md +0 -132
- package/templates/commands/business-analyse/6-handoff.md +0 -157
- package/templates/commands/business-analyse/7-doc-html.md +0 -103
- package/templates/commands/business-analyse/_shared.md +0 -176
- package/templates/commands/business-analyse/bug.md +0 -118
- package/templates/commands/business-analyse/change-request.md +0 -144
- package/templates/commands/business-analyse/hotfix.md +0 -116
- package/templates/commands/business-analyse.md +0 -121
- package/templates/commands/controller/create.md +0 -216
- package/templates/commands/controller/postman-templates.md +0 -528
- package/templates/commands/controller/templates.md +0 -600
- package/templates/commands/controller.md +0 -337
- package/templates/commands/create/agent.md +0 -138
- package/templates/commands/create/command.md +0 -166
- package/templates/commands/create/hook.md +0 -234
- package/templates/commands/create/plugin.md +0 -329
- package/templates/commands/create/project.md +0 -508
- package/templates/commands/create/skill.md +0 -199
- package/templates/commands/create.md +0 -220
- package/templates/commands/documentation/module.md +0 -202
- package/templates/commands/documentation/templates.md +0 -432
- package/templates/commands/documentation.md +0 -190
- package/templates/commands/epct.md +0 -69
- package/templates/commands/explain.md +0 -186
- package/templates/commands/feature-full.md +0 -267
- package/templates/commands/gitflow/1-init.md +0 -188
- package/templates/commands/gitflow/10-start.md +0 -190
- package/templates/commands/gitflow/11-finish.md +0 -382
- package/templates/commands/gitflow/12-cleanup.md +0 -103
- package/templates/commands/gitflow/13-sync.md +0 -216
- package/templates/commands/gitflow/14-rebase.md +0 -251
- package/templates/commands/gitflow/2-status.md +0 -122
- package/templates/commands/gitflow/3-commit.md +0 -209
- package/templates/commands/gitflow/4-plan.md +0 -174
- package/templates/commands/gitflow/5-exec.md +0 -202
- package/templates/commands/gitflow/6-abort.md +0 -121
- package/templates/commands/gitflow/7-pull-request.md +0 -176
- package/templates/commands/gitflow/8-review.md +0 -113
- package/templates/commands/gitflow/9-merge.md +0 -157
- package/templates/commands/gitflow.md +0 -128
- package/templates/commands/implement.md +0 -663
- package/templates/commands/init.md +0 -567
- package/templates/commands/mcp-integration.md +0 -330
- package/templates/commands/notification.md +0 -129
- package/templates/commands/oneshot.md +0 -57
- package/templates/commands/quickstart.md +0 -154
- package/templates/commands/ralph-loop/cancel-ralph.md +0 -18
- package/templates/commands/ralph-loop/help.md +0 -126
- package/templates/commands/ralph-loop/ralph-loop.md +0 -120
- package/templates/commands/review.md +0 -106
- package/templates/commands/workflow.md +0 -193
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: step-02-plan
|
|
3
|
+
description: Strategic planning - create detailed file-by-file implementation strategy
|
|
4
|
+
prev_step: steps/step-01-analyze.md
|
|
5
|
+
next_step: steps/step-03-execute.md
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Step 2: Plan (Strategic Design)
|
|
9
|
+
|
|
10
|
+
## MANDATORY EXECUTION RULES:
|
|
11
|
+
|
|
12
|
+
- NEVER start implementing - that's step 3
|
|
13
|
+
- NEVER write or modify code in this step
|
|
14
|
+
- ALWAYS structure plan by FILE, not by feature
|
|
15
|
+
- ALWAYS include specific line numbers from analysis
|
|
16
|
+
- ALWAYS map acceptance criteria to file changes
|
|
17
|
+
- YOU ARE A PLANNER, not an implementer
|
|
18
|
+
- FORBIDDEN to use Edit, Write, or Bash tools
|
|
19
|
+
|
|
20
|
+
## YOUR TASK:
|
|
21
|
+
|
|
22
|
+
Transform analysis findings into a comprehensive, executable, file-by-file implementation plan.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
<available_state>
|
|
27
|
+
From previous steps:
|
|
28
|
+
|
|
29
|
+
| Variable | Description |
|
|
30
|
+
|----------|-------------|
|
|
31
|
+
| `{task_description}` | What to implement |
|
|
32
|
+
| `{task_id}` | Kebab-case identifier |
|
|
33
|
+
| `{acceptance_criteria}` | Success criteria from step-01 |
|
|
34
|
+
| `{auto_mode}` | Skip confirmations |
|
|
35
|
+
| `{save_mode}` | Save outputs to files |
|
|
36
|
+
| `{output_dir}` | Path to output (if save_mode) |
|
|
37
|
+
| Files found | From step-01 codebase exploration |
|
|
38
|
+
| Patterns | From step-01 pattern analysis |
|
|
39
|
+
| Utilities | From step-01 utility discovery |
|
|
40
|
+
</available_state>
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## EXECUTION SEQUENCE:
|
|
45
|
+
|
|
46
|
+
### 1. ULTRA THINK: Design Complete Strategy
|
|
47
|
+
|
|
48
|
+
**CRITICAL: Think through ENTIRE implementation before writing any plan.**
|
|
49
|
+
|
|
50
|
+
Mental simulation:
|
|
51
|
+
- Walk through the implementation step by step
|
|
52
|
+
- Identify all files that need changes
|
|
53
|
+
- Determine logical order (dependencies first)
|
|
54
|
+
- Consider edge cases and error handling
|
|
55
|
+
- Plan test coverage
|
|
56
|
+
|
|
57
|
+
### 2. Clarify Ambiguities
|
|
58
|
+
|
|
59
|
+
**If `{auto_mode}` = true:**
|
|
60
|
+
Use recommended option for any ambiguity, proceed automatically.
|
|
61
|
+
|
|
62
|
+
**If `{auto_mode}` = false AND multiple valid approaches exist:**
|
|
63
|
+
|
|
64
|
+
```yaml
|
|
65
|
+
questions:
|
|
66
|
+
- header: "Approach"
|
|
67
|
+
question: "Multiple approaches are possible. Which should we use?"
|
|
68
|
+
options:
|
|
69
|
+
- label: "Approach A (Recommended)"
|
|
70
|
+
description: "Description and tradeoffs of A"
|
|
71
|
+
- label: "Approach B"
|
|
72
|
+
description: "Description and tradeoffs of B"
|
|
73
|
+
- label: "Approach C"
|
|
74
|
+
description: "Description and tradeoffs of C"
|
|
75
|
+
multiSelect: false
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### 3. Create Detailed Plan
|
|
79
|
+
|
|
80
|
+
**Structure by FILE, not by feature:**
|
|
81
|
+
|
|
82
|
+
```markdown
|
|
83
|
+
## Implementation Plan: {task_description}
|
|
84
|
+
|
|
85
|
+
### Overview
|
|
86
|
+
[1-2 sentences: High-level strategy and approach]
|
|
87
|
+
|
|
88
|
+
### Prerequisites
|
|
89
|
+
- [ ] Prerequisite 1 (if any)
|
|
90
|
+
- [ ] Prerequisite 2 (if any)
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
### File Changes
|
|
95
|
+
|
|
96
|
+
#### `src/path/file1.ts`
|
|
97
|
+
- Add `functionName` that handles X
|
|
98
|
+
- Extract logic from Y (follow pattern in `example.ts:45`)
|
|
99
|
+
- Handle error case: [specific scenario]
|
|
100
|
+
- Consider: [edge case or important context]
|
|
101
|
+
|
|
102
|
+
#### `src/path/file2.ts`
|
|
103
|
+
- Update imports to include new module
|
|
104
|
+
- Call `functionName` in existing flow at line ~42
|
|
105
|
+
- Update types: Add `NewType` interface
|
|
106
|
+
|
|
107
|
+
#### `src/path/file3.ts` (NEW FILE)
|
|
108
|
+
- Create utility for Z
|
|
109
|
+
- Export: `utilityFunction`, `HelperType`
|
|
110
|
+
- Pattern: Follow `similar-util.ts` structure
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
### Testing Strategy
|
|
115
|
+
|
|
116
|
+
**New tests:**
|
|
117
|
+
- `src/path/file1.test.ts` - Test functionName with:
|
|
118
|
+
- Happy path
|
|
119
|
+
- Error case
|
|
120
|
+
- Edge case
|
|
121
|
+
|
|
122
|
+
**Update existing:**
|
|
123
|
+
- `src/path/existing.test.ts` - Add test for new flow
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
### Acceptance Criteria Mapping
|
|
128
|
+
- [ ] AC1: Satisfied by changes in `file1.ts`
|
|
129
|
+
- [ ] AC2: Satisfied by changes in `file2.ts`
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
### Risks & Considerations
|
|
134
|
+
- Risk 1: [potential issue and mitigation]
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### 4. Verify Plan Completeness
|
|
138
|
+
|
|
139
|
+
Checklist:
|
|
140
|
+
- [ ] All files identified - nothing missing
|
|
141
|
+
- [ ] Logical order - dependencies handled first
|
|
142
|
+
- [ ] Clear actions - every step specific and actionable
|
|
143
|
+
- [ ] Test coverage - all paths have test strategy
|
|
144
|
+
- [ ] In scope - no scope creep
|
|
145
|
+
- [ ] AC mapped - every criterion has implementation
|
|
146
|
+
|
|
147
|
+
### 5. Save Plan (if save_mode)
|
|
148
|
+
|
|
149
|
+
**If `{save_mode}` = true:**
|
|
150
|
+
|
|
151
|
+
Write plan to `{output_dir}/02-plan.md`:
|
|
152
|
+
- Include full plan above
|
|
153
|
+
- Add timestamp
|
|
154
|
+
- Update 00-context.md Progress table: 02-plan -> Complete
|
|
155
|
+
|
|
156
|
+
### 6. Present Plan for Approval
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
**Implementation Plan Ready**
|
|
160
|
+
|
|
161
|
+
**Overview:** [1 sentence summary]
|
|
162
|
+
|
|
163
|
+
**Files to modify:** {count} files
|
|
164
|
+
**New files:** {count} files
|
|
165
|
+
**Tests:** {count} test files
|
|
166
|
+
|
|
167
|
+
**Estimated changes:**
|
|
168
|
+
- `file1.ts` - Major changes (add function, handle errors)
|
|
169
|
+
- `file2.ts` - Minor changes (imports, single call)
|
|
170
|
+
- `file1.test.ts` - New test file
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
**If `{auto_mode}` = true:**
|
|
174
|
+
Skip confirmation, proceed directly to execution.
|
|
175
|
+
|
|
176
|
+
**If `{auto_mode}` = false:**
|
|
177
|
+
|
|
178
|
+
```yaml
|
|
179
|
+
questions:
|
|
180
|
+
- header: "Plan"
|
|
181
|
+
question: "Review the implementation plan. Ready to proceed?"
|
|
182
|
+
options:
|
|
183
|
+
- label: "Approve and execute (Recommended)"
|
|
184
|
+
description: "Plan looks good, start implementation"
|
|
185
|
+
- label: "Adjust plan"
|
|
186
|
+
description: "I want to modify specific parts"
|
|
187
|
+
- label: "Ask questions"
|
|
188
|
+
description: "I have questions about the plan"
|
|
189
|
+
- label: "Start over"
|
|
190
|
+
description: "Revise the entire plan"
|
|
191
|
+
multiSelect: false
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## SUCCESS METRICS:
|
|
197
|
+
|
|
198
|
+
- Complete file-by-file plan created
|
|
199
|
+
- Logical dependency order established
|
|
200
|
+
- All acceptance criteria mapped to changes
|
|
201
|
+
- Test strategy defined
|
|
202
|
+
- User approved plan (or auto-approved)
|
|
203
|
+
- NO code written or modified
|
|
204
|
+
|
|
205
|
+
## FAILURE MODES:
|
|
206
|
+
|
|
207
|
+
- Organizing by feature instead of file
|
|
208
|
+
- Vague actions like "add feature" or "fix issue"
|
|
209
|
+
- Missing test strategy
|
|
210
|
+
- Not mapping to acceptance criteria
|
|
211
|
+
- Starting to write code (that's step 3!)
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## NEXT STEP:
|
|
216
|
+
|
|
217
|
+
After user approves (or auto-proceed), load `./step-03-execute.md`
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: step-03-execute
|
|
3
|
+
description: Todo-driven implementation - execute the plan file by file
|
|
4
|
+
prev_step: steps/step-02-plan.md
|
|
5
|
+
next_step: steps/step-04-validate.md
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Step 3: Execute (Implementation)
|
|
9
|
+
|
|
10
|
+
## MANDATORY EXECUTION RULES:
|
|
11
|
+
|
|
12
|
+
- NEVER deviate from the approved plan
|
|
13
|
+
- NEVER add features not in the plan (scope creep)
|
|
14
|
+
- NEVER modify files without reading them first
|
|
15
|
+
- ALWAYS follow the plan file-by-file
|
|
16
|
+
- ALWAYS mark todos complete immediately after each task
|
|
17
|
+
- ALWAYS read files BEFORE editing them
|
|
18
|
+
- YOU ARE AN IMPLEMENTER following a plan, not a designer
|
|
19
|
+
- FORBIDDEN to add "improvements" not in the plan
|
|
20
|
+
|
|
21
|
+
## YOUR TASK:
|
|
22
|
+
|
|
23
|
+
Execute the approved implementation plan file-by-file, tracking progress with todos.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
<available_state>
|
|
28
|
+
From previous steps:
|
|
29
|
+
|
|
30
|
+
| Variable | Description |
|
|
31
|
+
|----------|-------------|
|
|
32
|
+
| `{task_description}` | What to implement |
|
|
33
|
+
| `{task_id}` | Kebab-case identifier |
|
|
34
|
+
| `{auto_mode}` | Skip confirmations |
|
|
35
|
+
| `{save_mode}` | Save outputs to files |
|
|
36
|
+
| `{output_dir}` | Path to output (if save_mode) |
|
|
37
|
+
| Implementation plan | File-by-file changes from step-02 |
|
|
38
|
+
| Patterns | How to implement from step-01 |
|
|
39
|
+
</available_state>
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## EXECUTION SEQUENCE:
|
|
44
|
+
|
|
45
|
+
### 1. Create Todos from Plan
|
|
46
|
+
|
|
47
|
+
Convert each file change from the plan into todos:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
Plan entry:
|
|
51
|
+
#### `src/auth/handler.ts`
|
|
52
|
+
- Add `validateToken` function
|
|
53
|
+
- Handle error case: expired token
|
|
54
|
+
|
|
55
|
+
Becomes:
|
|
56
|
+
- [ ] src/auth/handler.ts: Add validateToken function
|
|
57
|
+
- [ ] src/auth/handler.ts: Handle expired token error
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Use TodoWrite to create the full list.
|
|
61
|
+
|
|
62
|
+
### 2. Execute File by File
|
|
63
|
+
|
|
64
|
+
For each todo:
|
|
65
|
+
|
|
66
|
+
**2.1 Mark In Progress**
|
|
67
|
+
- Only ONE todo in_progress at a time
|
|
68
|
+
|
|
69
|
+
**2.2 Read Before Edit**
|
|
70
|
+
```
|
|
71
|
+
ALWAYS read the file before modifying:
|
|
72
|
+
- Understand current structure
|
|
73
|
+
- Find exact insertion points
|
|
74
|
+
- Verify patterns match expectations
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**2.3 Implement Changes**
|
|
78
|
+
```
|
|
79
|
+
Make changes specified in the plan:
|
|
80
|
+
- Follow patterns from step-01 analysis
|
|
81
|
+
- Use exact names from plan
|
|
82
|
+
- Handle error cases as specified
|
|
83
|
+
- NO comments unless truly necessary
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**2.4 Mark Complete Immediately**
|
|
87
|
+
- Mark todo complete RIGHT AFTER finishing
|
|
88
|
+
- Don't batch completions
|
|
89
|
+
|
|
90
|
+
**2.5 Log Progress (if save_mode)**
|
|
91
|
+
|
|
92
|
+
Append to `{output_dir}/03-execute.md`:
|
|
93
|
+
```markdown
|
|
94
|
+
### file.ts
|
|
95
|
+
- Added `functionName` (lines 45-78)
|
|
96
|
+
- Added error handling
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### 3. Handle Blockers
|
|
100
|
+
|
|
101
|
+
**If `{auto_mode}` = true:**
|
|
102
|
+
Make reasonable decision and continue.
|
|
103
|
+
|
|
104
|
+
**If `{auto_mode}` = false:**
|
|
105
|
+
|
|
106
|
+
```yaml
|
|
107
|
+
questions:
|
|
108
|
+
- header: "Blocker"
|
|
109
|
+
question: "Encountered an issue. How should we proceed?"
|
|
110
|
+
options:
|
|
111
|
+
- label: "Use alternative approach (Recommended)"
|
|
112
|
+
description: "Description of alternative"
|
|
113
|
+
- label: "Skip this part"
|
|
114
|
+
description: "Continue without this change"
|
|
115
|
+
- label: "Stop for discussion"
|
|
116
|
+
description: "I want to discuss before continuing"
|
|
117
|
+
multiSelect: false
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### 4. Verify Implementation
|
|
121
|
+
|
|
122
|
+
After completing all todos:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
pnpm run typecheck && pnpm run lint --fix
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Fix any errors immediately.
|
|
129
|
+
|
|
130
|
+
### 5. Implementation Summary
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
**Implementation Complete**
|
|
134
|
+
|
|
135
|
+
**Files Modified:**
|
|
136
|
+
- `src/auth/handler.ts` - Added validateToken, error handling
|
|
137
|
+
- `src/api/auth/route.ts` - Integrated token validation
|
|
138
|
+
|
|
139
|
+
**New Files:**
|
|
140
|
+
- `src/types/auth.ts` - Auth type definitions
|
|
141
|
+
|
|
142
|
+
**Todos:** {X}/{Y} complete
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### 6. Save Output (if save_mode)
|
|
146
|
+
|
|
147
|
+
**If `{save_mode}` = true:**
|
|
148
|
+
|
|
149
|
+
Finalize `{output_dir}/03-execute.md` with:
|
|
150
|
+
- Summary of all changes
|
|
151
|
+
- Timestamp
|
|
152
|
+
- Update 00-context.md Progress table: 03-execute -> Complete
|
|
153
|
+
|
|
154
|
+
**Then proceed to validation.**
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## SUCCESS METRICS:
|
|
159
|
+
|
|
160
|
+
- All plan items implemented
|
|
161
|
+
- All todos marked complete
|
|
162
|
+
- No scope creep - only plan items
|
|
163
|
+
- Files read before modification
|
|
164
|
+
- Typecheck and lint pass
|
|
165
|
+
|
|
166
|
+
## FAILURE MODES:
|
|
167
|
+
|
|
168
|
+
- Adding features not in the plan
|
|
169
|
+
- Modifying files without reading first
|
|
170
|
+
- Not updating todos as you work
|
|
171
|
+
- Multiple todos in_progress simultaneously
|
|
172
|
+
- Ignoring type or lint errors
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## NEXT STEP:
|
|
177
|
+
|
|
178
|
+
After implementation complete, load `./step-04-validate.md`
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: step-04-validate
|
|
3
|
+
description: Self-check - run tests, verify AC, audit implementation quality
|
|
4
|
+
prev_step: steps/step-03-execute.md
|
|
5
|
+
next_step: steps/step-05-examine.md
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Step 4: Validate (Self-Check)
|
|
9
|
+
|
|
10
|
+
## MANDATORY EXECUTION RULES:
|
|
11
|
+
|
|
12
|
+
- NEVER claim checks pass when they don't
|
|
13
|
+
- NEVER skip any validation step
|
|
14
|
+
- ALWAYS run typecheck, lint, and tests
|
|
15
|
+
- ALWAYS verify each acceptance criterion
|
|
16
|
+
- ALWAYS fix failures before proceeding
|
|
17
|
+
- YOU ARE A VALIDATOR, not an implementer
|
|
18
|
+
- FORBIDDEN to proceed with failing checks
|
|
19
|
+
|
|
20
|
+
## YOUR TASK:
|
|
21
|
+
|
|
22
|
+
Validate the implementation by running checks, verifying acceptance criteria, and ensuring quality.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
<available_state>
|
|
27
|
+
From previous steps:
|
|
28
|
+
|
|
29
|
+
| Variable | Description |
|
|
30
|
+
|----------|-------------|
|
|
31
|
+
| `{task_description}` | What was implemented |
|
|
32
|
+
| `{task_id}` | Kebab-case identifier |
|
|
33
|
+
| `{acceptance_criteria}` | Success criteria |
|
|
34
|
+
| `{auto_mode}` | Skip confirmations |
|
|
35
|
+
| `{save_mode}` | Save outputs to files |
|
|
36
|
+
| `{test_mode}` | Include test steps |
|
|
37
|
+
| `{examine_mode}` | Auto-proceed to review |
|
|
38
|
+
| `{output_dir}` | Path to output (if save_mode) |
|
|
39
|
+
| Implementation | Completed in step-03 |
|
|
40
|
+
</available_state>
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## EXECUTION SEQUENCE:
|
|
45
|
+
|
|
46
|
+
### 1. Discover Available Commands
|
|
47
|
+
|
|
48
|
+
Check `package.json` for exact command names:
|
|
49
|
+
```bash
|
|
50
|
+
cat package.json | grep -A 20 '"scripts"'
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Look for: `typecheck`, `lint`, `test`, `build`, `format`
|
|
54
|
+
|
|
55
|
+
### 2. Run Validation Suite
|
|
56
|
+
|
|
57
|
+
**2.1 Typecheck**
|
|
58
|
+
```bash
|
|
59
|
+
pnpm run typecheck # or npm run typecheck
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**MUST PASS.** If fails:
|
|
63
|
+
1. Read error messages
|
|
64
|
+
2. Fix type issues
|
|
65
|
+
3. Re-run until passing
|
|
66
|
+
|
|
67
|
+
**2.2 Lint**
|
|
68
|
+
```bash
|
|
69
|
+
pnpm run lint
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**MUST PASS.** If fails:
|
|
73
|
+
1. Try auto-fix: `pnpm run lint --fix`
|
|
74
|
+
2. Manually fix remaining
|
|
75
|
+
3. Re-run until passing
|
|
76
|
+
|
|
77
|
+
**2.3 Tests**
|
|
78
|
+
```bash
|
|
79
|
+
pnpm run test
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**MUST PASS.** If fails:
|
|
83
|
+
1. Identify failing test
|
|
84
|
+
2. Determine if code bug or test bug
|
|
85
|
+
3. Fix the root cause
|
|
86
|
+
4. Re-run until passing
|
|
87
|
+
|
|
88
|
+
### 3. Self-Audit Checklist
|
|
89
|
+
|
|
90
|
+
Verify each item:
|
|
91
|
+
|
|
92
|
+
**Tasks Complete:**
|
|
93
|
+
- [ ] All todos from step-03 marked complete
|
|
94
|
+
- [ ] No tasks skipped without reason
|
|
95
|
+
- [ ] Any blocked tasks have explanation
|
|
96
|
+
|
|
97
|
+
**Tests Passing:**
|
|
98
|
+
- [ ] All existing tests pass
|
|
99
|
+
- [ ] New tests written for new functionality
|
|
100
|
+
- [ ] No skipped tests without reason
|
|
101
|
+
|
|
102
|
+
**Acceptance Criteria:**
|
|
103
|
+
- [ ] Each AC demonstrably met
|
|
104
|
+
- [ ] Can explain how implementation satisfies AC
|
|
105
|
+
- [ ] Edge cases considered
|
|
106
|
+
|
|
107
|
+
**Patterns Followed:**
|
|
108
|
+
- [ ] Code follows existing patterns
|
|
109
|
+
- [ ] Error handling consistent
|
|
110
|
+
- [ ] Naming conventions match
|
|
111
|
+
|
|
112
|
+
### 4. Format Code
|
|
113
|
+
|
|
114
|
+
If format command available:
|
|
115
|
+
```bash
|
|
116
|
+
pnpm run format
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### 5. Final Verification
|
|
120
|
+
|
|
121
|
+
Re-run all checks:
|
|
122
|
+
```bash
|
|
123
|
+
pnpm run typecheck && pnpm run lint
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Both MUST pass.
|
|
127
|
+
|
|
128
|
+
### 6. Present Validation Results
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
**Validation Complete**
|
|
132
|
+
|
|
133
|
+
**Typecheck:** Pass
|
|
134
|
+
**Lint:** Pass
|
|
135
|
+
**Tests:** {X}/{X} passing
|
|
136
|
+
**Format:** Applied
|
|
137
|
+
|
|
138
|
+
**Acceptance Criteria:**
|
|
139
|
+
- [x] AC1: Verified by [how]
|
|
140
|
+
- [x] AC2: Verified by [how]
|
|
141
|
+
|
|
142
|
+
**Files Modified:** {list}
|
|
143
|
+
|
|
144
|
+
**Summary:** All checks passing, ready for next step.
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### 7. Save Output (if save_mode)
|
|
148
|
+
|
|
149
|
+
**If `{save_mode}` = true:**
|
|
150
|
+
|
|
151
|
+
Write to `{output_dir}/04-validate.md`:
|
|
152
|
+
- Validation results
|
|
153
|
+
- AC verification
|
|
154
|
+
- Timestamp
|
|
155
|
+
- Update 00-context.md Progress table: 04-validate -> Complete
|
|
156
|
+
|
|
157
|
+
### 8. Determine Next Step
|
|
158
|
+
|
|
159
|
+
**Decision tree:**
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
IF {test_mode} = true:
|
|
163
|
+
-> Load step-07-tests.md (test analysis and creation)
|
|
164
|
+
|
|
165
|
+
ELSE IF {examine_mode} = true:
|
|
166
|
+
-> Load step-05-examine.md (adversarial review)
|
|
167
|
+
|
|
168
|
+
ELSE IF {auto_mode} = false:
|
|
169
|
+
-> Ask user what to do next
|
|
170
|
+
|
|
171
|
+
ELSE:
|
|
172
|
+
-> Complete workflow (show final summary)
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
**If `{auto_mode}` = false:**
|
|
176
|
+
|
|
177
|
+
```yaml
|
|
178
|
+
questions:
|
|
179
|
+
- header: "Next"
|
|
180
|
+
question: "Validation complete. What would you like to do?"
|
|
181
|
+
options:
|
|
182
|
+
- label: "Run adversarial review"
|
|
183
|
+
description: "Deep review for security, logic, and quality"
|
|
184
|
+
- label: "Complete workflow"
|
|
185
|
+
description: "Skip review and finalize"
|
|
186
|
+
- label: "Add tests"
|
|
187
|
+
description: "Create additional tests first"
|
|
188
|
+
multiSelect: false
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## SUCCESS METRICS:
|
|
194
|
+
|
|
195
|
+
- Typecheck passes
|
|
196
|
+
- Lint passes
|
|
197
|
+
- All tests pass
|
|
198
|
+
- All AC verified
|
|
199
|
+
- Code formatted
|
|
200
|
+
- User informed of status
|
|
201
|
+
|
|
202
|
+
## FAILURE MODES:
|
|
203
|
+
|
|
204
|
+
- Claiming checks pass when they don't
|
|
205
|
+
- Not running all validation commands
|
|
206
|
+
- Skipping tests for modified code
|
|
207
|
+
- Missing AC verification
|
|
208
|
+
- Proceeding with failures
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## NEXT STEP:
|
|
213
|
+
|
|
214
|
+
Based on flags (check in order):
|
|
215
|
+
- **If test_mode:** Load `./step-07-tests.md`
|
|
216
|
+
- **If examine_mode OR user requests:** Load `./step-05-examine.md`
|
|
217
|
+
- **Otherwise:** Workflow complete - show summary
|