@atlashub/smartstack-cli 1.13.2 → 1.14.1
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 +231 -236
- package/.documentation/hooks.html +1 -1
- package/.documentation/index.html +1 -1
- package/.documentation/init.html +3 -3
- package/.documentation/installation.html +1075 -351
- package/.documentation/ralph-loop.html +1 -1
- package/.documentation/test-web.html +1 -1
- package/README.md +88 -20
- package/config/default-config.json +10 -1
- 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 +70 -20
- 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 +31 -2
- package/templates/commands/efcore/db-reset.md +18 -6
- package/templates/commands/efcore/migration.md +1 -1
- package/templates/commands/efcore/rebase-snapshot.md +1 -1
- package/templates/commands/efcore/squash.md +1 -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 +334 -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
- package/templates/gitflow/config.json +0 -138
|
@@ -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
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: step-05-examine
|
|
3
|
+
description: Adversarial code review - security, logic, and quality analysis
|
|
4
|
+
prev_step: steps/step-04-validate.md
|
|
5
|
+
next_step: steps/step-06-resolve.md
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Step 5: Examine (Adversarial Review)
|
|
9
|
+
|
|
10
|
+
## MANDATORY EXECUTION RULES:
|
|
11
|
+
|
|
12
|
+
- NEVER skip security review
|
|
13
|
+
- NEVER dismiss findings without justification
|
|
14
|
+
- NEVER auto-approve without thorough review
|
|
15
|
+
- ALWAYS check OWASP top 10 vulnerabilities
|
|
16
|
+
- ALWAYS classify findings by severity and validity
|
|
17
|
+
- ALWAYS present findings table to user
|
|
18
|
+
- YOU ARE A SKEPTICAL REVIEWER, not a defender
|
|
19
|
+
- FORBIDDEN to approve without thorough analysis
|
|
20
|
+
|
|
21
|
+
## YOUR TASK:
|
|
22
|
+
|
|
23
|
+
Conduct an adversarial code review to identify security vulnerabilities, logic flaws, and quality issues.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
<available_state>
|
|
28
|
+
From previous steps:
|
|
29
|
+
|
|
30
|
+
| Variable | Description |
|
|
31
|
+
|----------|-------------|
|
|
32
|
+
| `{task_description}` | What was implemented |
|
|
33
|
+
| `{task_id}` | Kebab-case identifier |
|
|
34
|
+
| `{auto_mode}` | Auto-fix Real findings |
|
|
35
|
+
| `{save_mode}` | Save outputs to files |
|
|
36
|
+
| `{economy_mode}` | No subagents, direct review |
|
|
37
|
+
| `{output_dir}` | Path to output (if save_mode) |
|
|
38
|
+
| Files modified | From step-03 |
|
|
39
|
+
</available_state>
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## EXECUTION SEQUENCE:
|
|
44
|
+
|
|
45
|
+
### 1. Gather Changes
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
git diff --name-only HEAD~1
|
|
49
|
+
git status --porcelain
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Group files: source, tests, config, other.
|
|
53
|
+
|
|
54
|
+
### 2. Conduct Review
|
|
55
|
+
|
|
56
|
+
**If `{economy_mode}` = true:**
|
|
57
|
+
|
|
58
|
+
Self-review with checklist:
|
|
59
|
+
|
|
60
|
+
```markdown
|
|
61
|
+
## Security Checklist
|
|
62
|
+
- [ ] No SQL injection (parameterized queries)
|
|
63
|
+
- [ ] No XSS (output encoding)
|
|
64
|
+
- [ ] No secrets in code
|
|
65
|
+
- [ ] Input validation present
|
|
66
|
+
- [ ] Auth checks on protected routes
|
|
67
|
+
|
|
68
|
+
## Logic Checklist
|
|
69
|
+
- [ ] Error handling for all failure modes
|
|
70
|
+
- [ ] Edge cases handled
|
|
71
|
+
- [ ] Null/undefined checks
|
|
72
|
+
- [ ] Race conditions considered
|
|
73
|
+
|
|
74
|
+
## Quality Checklist
|
|
75
|
+
- [ ] Follows existing patterns
|
|
76
|
+
- [ ] No code duplication
|
|
77
|
+
- [ ] Clear naming
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**If `{economy_mode}` = false:**
|
|
81
|
+
|
|
82
|
+
Launch parallel review agents in a SINGLE message:
|
|
83
|
+
|
|
84
|
+
**Agent 1: Security** (`code-reviewer`)
|
|
85
|
+
```
|
|
86
|
+
Review for OWASP Top 10:
|
|
87
|
+
- Injection flaws
|
|
88
|
+
- Auth/authz issues
|
|
89
|
+
- Data exposure
|
|
90
|
+
- Security misconfiguration
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**Agent 2: Logic** (`code-reviewer`)
|
|
94
|
+
```
|
|
95
|
+
Review for:
|
|
96
|
+
- Edge cases not handled
|
|
97
|
+
- Race conditions
|
|
98
|
+
- Null handling
|
|
99
|
+
- Incorrect logic
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**Agent 3: Clean Code** (`code-reviewer`)
|
|
103
|
+
```
|
|
104
|
+
Review for:
|
|
105
|
+
- SOLID violations
|
|
106
|
+
- Code smells
|
|
107
|
+
- Complexity issues
|
|
108
|
+
- Duplication >20 lines
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### 3. Classify Findings
|
|
112
|
+
|
|
113
|
+
For each finding:
|
|
114
|
+
|
|
115
|
+
**Severity:**
|
|
116
|
+
- CRITICAL: Security vulnerability, data loss risk
|
|
117
|
+
- HIGH: Significant bug, will cause issues
|
|
118
|
+
- MEDIUM: Should fix, not urgent
|
|
119
|
+
- LOW: Minor improvement
|
|
120
|
+
|
|
121
|
+
**Validity:**
|
|
122
|
+
- Real: Definitely needs fixing
|
|
123
|
+
- Noise: Not actually a problem
|
|
124
|
+
- Uncertain: Needs discussion
|
|
125
|
+
|
|
126
|
+
### 4. Present Findings Table
|
|
127
|
+
|
|
128
|
+
```markdown
|
|
129
|
+
## Findings
|
|
130
|
+
|
|
131
|
+
| ID | Severity | Category | Location | Issue | Validity |
|
|
132
|
+
|----|----------|----------|----------|-------|----------|
|
|
133
|
+
| F1 | CRITICAL | Security | auth.ts:42 | SQL injection | Real |
|
|
134
|
+
| F2 | HIGH | Logic | handler.ts:78 | Missing null check | Real |
|
|
135
|
+
| F3 | MEDIUM | Quality | utils.ts:15 | Complex function | Uncertain |
|
|
136
|
+
|
|
137
|
+
**Summary:** {count} findings ({blocking} blocking)
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### 5. Create Finding Todos
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
- [ ] F1 [CRITICAL] Fix SQL injection in auth.ts:42
|
|
144
|
+
- [ ] F2 [HIGH] Add null check in handler.ts:78
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### 6. Save Output (if save_mode)
|
|
148
|
+
|
|
149
|
+
**If `{save_mode}` = true:**
|
|
150
|
+
|
|
151
|
+
Write to `{output_dir}/05-examine.md`:
|
|
152
|
+
- Findings table
|
|
153
|
+
- Checklist results
|
|
154
|
+
- Timestamp
|
|
155
|
+
- Update 00-context.md Progress table: 05-examine -> Complete
|
|
156
|
+
|
|
157
|
+
### 7. Get User Approval
|
|
158
|
+
|
|
159
|
+
**If `{auto_mode}` = true:**
|
|
160
|
+
Proceed automatically based on findings.
|
|
161
|
+
|
|
162
|
+
**If `{auto_mode}` = false:**
|
|
163
|
+
|
|
164
|
+
```yaml
|
|
165
|
+
questions:
|
|
166
|
+
- header: "Review"
|
|
167
|
+
question: "Review complete. How would you like to proceed?"
|
|
168
|
+
options:
|
|
169
|
+
- label: "Resolve findings (Recommended)"
|
|
170
|
+
description: "Address the identified issues"
|
|
171
|
+
- label: "Skip to tests"
|
|
172
|
+
description: "Skip resolution, proceed to test creation"
|
|
173
|
+
- label: "Skip resolution"
|
|
174
|
+
description: "Accept findings, don't make changes"
|
|
175
|
+
- label: "Discuss findings"
|
|
176
|
+
description: "I want to discuss specific findings"
|
|
177
|
+
multiSelect: false
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## SUCCESS METRICS:
|
|
183
|
+
|
|
184
|
+
- All modified files reviewed
|
|
185
|
+
- Security checklist completed
|
|
186
|
+
- Findings classified by severity
|
|
187
|
+
- Validity assessed for each finding
|
|
188
|
+
- Findings table presented
|
|
189
|
+
- Todos created for tracking
|
|
190
|
+
|
|
191
|
+
## FAILURE MODES:
|
|
192
|
+
|
|
193
|
+
- Skipping security review
|
|
194
|
+
- Not classifying by severity
|
|
195
|
+
- Auto-dismissing findings
|
|
196
|
+
- Launching agents sequentially
|
|
197
|
+
- Using subagents when economy_mode
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## NEXT STEP:
|
|
202
|
+
|
|
203
|
+
After user confirms (or auto-proceed):
|
|
204
|
+
|
|
205
|
+
- **If user chooses "Resolve findings":** Load `./step-06-resolve.md`
|
|
206
|
+
- **If user chooses "Skip to tests" (and test_mode):** Load `./step-07-tests.md`
|
|
207
|
+
- **If user chooses "Skip resolution":** Workflow complete - show summary
|