@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.
Files changed (214) hide show
  1. package/.documentation/agents.html +1 -1
  2. package/.documentation/apex.html +1 -1
  3. package/.documentation/business-analyse.html +1 -1
  4. package/.documentation/cli-commands.html +3 -3
  5. package/.documentation/commands.html +1 -1
  6. package/.documentation/efcore.html +1 -1
  7. package/.documentation/gitflow.html +231 -236
  8. package/.documentation/hooks.html +1 -1
  9. package/.documentation/index.html +1 -1
  10. package/.documentation/init.html +3 -3
  11. package/.documentation/installation.html +1075 -351
  12. package/.documentation/ralph-loop.html +1 -1
  13. package/.documentation/test-web.html +1 -1
  14. package/README.md +88 -20
  15. package/config/default-config.json +10 -1
  16. package/dist/index.js +276 -85
  17. package/dist/index.js.map +1 -1
  18. package/package.json +1 -1
  19. package/templates/agents/code-reviewer.md +163 -0
  20. package/templates/agents/efcore/db-deploy.md +25 -7
  21. package/templates/agents/efcore/db-reset.md +31 -10
  22. package/templates/agents/efcore/db-status.md +22 -5
  23. package/templates/agents/efcore/migration.md +70 -20
  24. package/templates/agents/gitflow/cleanup.md +8 -1
  25. package/templates/agents/gitflow/commit.md +7 -5
  26. package/templates/agents/gitflow/finish.md +6 -4
  27. package/templates/agents/gitflow/pr.md +8 -1
  28. package/templates/agents/gitflow/start.md +1 -1
  29. package/templates/commands/check-version.md +267 -0
  30. package/templates/commands/efcore/_shared.md +31 -2
  31. package/templates/commands/efcore/db-reset.md +18 -6
  32. package/templates/commands/efcore/migration.md +1 -1
  33. package/templates/commands/efcore/rebase-snapshot.md +1 -1
  34. package/templates/commands/efcore/squash.md +1 -0
  35. package/templates/commands/refactor.md +164 -0
  36. package/templates/project/DependencyInjection.Application.cs.template +25 -0
  37. package/templates/project/DependencyInjection.Infrastructure.cs.template +61 -0
  38. package/templates/project/DesignTimeExtensionsDbContextFactory.cs.template +70 -0
  39. package/templates/project/ExampleEntity.cs.template +116 -0
  40. package/templates/project/ExampleEntityConfiguration.cs.template +64 -0
  41. package/templates/project/ExampleService.cs.template +146 -0
  42. package/templates/project/ExtensionsDbContext.cs.template +41 -0
  43. package/templates/project/IExtensionsDbContext.cs.template +22 -0
  44. package/templates/project/Program.cs.template +47 -0
  45. package/templates/project/README.md +79 -0
  46. package/templates/ralph/README.md +10 -8
  47. package/templates/ralph/ralph.config.yaml +2 -2
  48. package/templates/skills/_shared.md +44 -44
  49. package/templates/skills/ai-prompt/SKILL.md +55 -55
  50. package/templates/skills/apex/SKILL.md +235 -0
  51. package/templates/skills/apex/steps/step-00-init.md +203 -0
  52. package/templates/skills/apex/steps/step-01-analyze.md +210 -0
  53. package/templates/skills/apex/steps/step-02-plan.md +217 -0
  54. package/templates/skills/apex/steps/step-03-execute.md +178 -0
  55. package/templates/skills/apex/steps/step-04-validate.md +217 -0
  56. package/templates/skills/apex/steps/step-05-examine.md +207 -0
  57. package/templates/skills/apex/steps/step-06-resolve.md +181 -0
  58. package/templates/skills/apex/steps/step-07-tests.md +206 -0
  59. package/templates/skills/apex/steps/step-08-run-tests.md +207 -0
  60. package/templates/skills/apex/templates/00-context.md +46 -0
  61. package/templates/skills/apex/templates/01-analyze.md +63 -0
  62. package/templates/skills/apex/templates/02-plan.md +63 -0
  63. package/templates/skills/apex/templates/03-execute.md +34 -0
  64. package/templates/skills/apex/templates/04-validate.md +61 -0
  65. package/templates/skills/apex/templates/05-examine.md +58 -0
  66. package/templates/skills/apex/templates/06-resolve.md +39 -0
  67. package/templates/skills/apex/templates/07-tests.md +56 -0
  68. package/templates/skills/apex/templates/08-run-tests.md +41 -0
  69. package/templates/skills/apex/templates/README.md +69 -0
  70. package/templates/skills/application/SKILL.md +50 -50
  71. package/templates/skills/application/templates-backend.md +25 -25
  72. package/templates/skills/application/templates-frontend.md +43 -43
  73. package/templates/skills/application/templates-i18n.md +29 -29
  74. package/templates/skills/application/templates-seed.md +77 -77
  75. package/templates/skills/business-analyse/SKILL.md +223 -0
  76. package/templates/skills/business-analyse/_shared.md +258 -0
  77. package/templates/skills/business-analyse/questionnaire/01-context.md +33 -0
  78. package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +35 -0
  79. package/templates/skills/business-analyse/questionnaire/03-scope.md +35 -0
  80. package/templates/skills/business-analyse/questionnaire/04-data.md +36 -0
  81. package/templates/skills/business-analyse/questionnaire/05-integrations.md +36 -0
  82. package/templates/skills/business-analyse/questionnaire/06-security.md +40 -0
  83. package/templates/skills/business-analyse/questionnaire/07-ui.md +36 -0
  84. package/templates/skills/business-analyse/questionnaire/08-performance.md +35 -0
  85. package/templates/skills/business-analyse/questionnaire/09-constraints.md +35 -0
  86. package/templates/skills/business-analyse/questionnaire/10-documentation.md +35 -0
  87. package/templates/skills/business-analyse/questionnaire.md +177 -177
  88. package/templates/skills/business-analyse/react/components.md +340 -0
  89. package/templates/skills/business-analyse/react/i18n-template.md +245 -0
  90. package/templates/skills/business-analyse/react/schema.md +151 -0
  91. package/templates/skills/business-analyse/steps/step-00-init.md +293 -0
  92. package/templates/skills/business-analyse/steps/step-01-discover.md +267 -0
  93. package/templates/skills/business-analyse/steps/step-02-analyse.md +243 -0
  94. package/templates/skills/business-analyse/steps/step-03-specify.md +317 -0
  95. package/templates/skills/business-analyse/steps/step-04-validate.md +239 -0
  96. package/templates/skills/business-analyse/steps/step-05-handoff.md +336 -0
  97. package/templates/skills/business-analyse/steps/step-06-doc-html.md +261 -0
  98. package/templates/skills/business-analyse/templates/00-context.md +105 -0
  99. package/templates/skills/business-analyse/templates/frd-brd.md +97 -0
  100. package/templates/skills/business-analyse/templates/frd-discovery.md +78 -0
  101. package/templates/skills/business-analyse/templates/frd-handoff.md +118 -0
  102. package/templates/skills/business-analyse/templates/frd-spec.md +168 -0
  103. package/templates/skills/business-analyse/templates-frd.md +217 -217
  104. package/templates/skills/business-analyse/templates-react.md +26 -26
  105. package/templates/skills/controller/SKILL.md +141 -92
  106. package/templates/skills/controller/postman-templates.md +15 -15
  107. package/templates/skills/controller/steps/step-00-init.md +191 -0
  108. package/templates/skills/controller/steps/step-01-analyze.md +146 -0
  109. package/templates/skills/controller/steps/step-02-plan.md +176 -0
  110. package/templates/skills/controller/steps/step-03-generate.md +219 -0
  111. package/templates/skills/controller/steps/step-04-perms.md +219 -0
  112. package/templates/skills/controller/steps/step-05-validate.md +107 -0
  113. package/templates/skills/controller/templates.md +77 -77
  114. package/templates/skills/documentation/SKILL.md +79 -79
  115. package/templates/skills/feature-full/SKILL.md +38 -38
  116. package/templates/skills/gitflow/SKILL.md +277 -0
  117. package/templates/{commands → skills}/gitflow/_shared.md +20 -20
  118. package/templates/skills/gitflow/phases/abort.md +173 -0
  119. package/templates/skills/gitflow/phases/cleanup.md +226 -0
  120. package/templates/skills/gitflow/phases/status.md +178 -0
  121. package/templates/skills/gitflow/steps/step-commit.md +255 -0
  122. package/templates/skills/gitflow/steps/step-finish.md +255 -0
  123. package/templates/skills/gitflow/steps/step-init.md +209 -0
  124. package/templates/skills/gitflow/steps/step-merge.md +225 -0
  125. package/templates/skills/gitflow/steps/step-plan.md +208 -0
  126. package/templates/skills/gitflow/steps/step-pr.md +235 -0
  127. package/templates/skills/gitflow/steps/step-start.md +334 -0
  128. package/templates/skills/gitflow/steps/step-sync.md +200 -0
  129. package/templates/skills/gitflow/templates/config.json +53 -0
  130. package/templates/skills/notification/SKILL.md +51 -51
  131. package/templates/skills/ralph-loop/SKILL.md +228 -0
  132. package/templates/skills/ralph-loop/steps/step-00-init.md +201 -0
  133. package/templates/skills/ralph-loop/steps/step-01-task.md +169 -0
  134. package/templates/skills/ralph-loop/steps/step-02-execute.md +173 -0
  135. package/templates/skills/ralph-loop/steps/step-03-commit.md +170 -0
  136. package/templates/skills/ralph-loop/steps/step-04-check.md +162 -0
  137. package/templates/skills/ralph-loop/steps/step-05-report.md +181 -0
  138. package/templates/skills/review-code/SKILL.md +219 -0
  139. package/templates/skills/review-code/references/clean-code-principles.md +140 -0
  140. package/templates/skills/review-code/references/code-quality-metrics.md +174 -0
  141. package/templates/skills/review-code/references/feedback-patterns.md +149 -0
  142. package/templates/skills/review-code/references/security-checklist.md +127 -0
  143. package/templates/skills/ui-components/SKILL.md +54 -54
  144. package/templates/skills/workflow/SKILL.md +46 -46
  145. package/templates/commands/ai-prompt.md +0 -315
  146. package/templates/commands/apex/1-analyze.md +0 -100
  147. package/templates/commands/apex/2-plan.md +0 -145
  148. package/templates/commands/apex/3-execute.md +0 -171
  149. package/templates/commands/apex/4-examine.md +0 -116
  150. package/templates/commands/apex/5-tasks.md +0 -209
  151. package/templates/commands/apex.md +0 -76
  152. package/templates/commands/application/create.md +0 -362
  153. package/templates/commands/application/templates-backend.md +0 -463
  154. package/templates/commands/application/templates-frontend.md +0 -517
  155. package/templates/commands/application/templates-i18n.md +0 -478
  156. package/templates/commands/application/templates-seed.md +0 -362
  157. package/templates/commands/application.md +0 -303
  158. package/templates/commands/business-analyse/0-orchestrate.md +0 -156
  159. package/templates/commands/business-analyse/1-init.md +0 -99
  160. package/templates/commands/business-analyse/2-discover.md +0 -143
  161. package/templates/commands/business-analyse/3-analyse.md +0 -106
  162. package/templates/commands/business-analyse/4-specify.md +0 -133
  163. package/templates/commands/business-analyse/5-validate.md +0 -132
  164. package/templates/commands/business-analyse/6-handoff.md +0 -157
  165. package/templates/commands/business-analyse/7-doc-html.md +0 -103
  166. package/templates/commands/business-analyse/_shared.md +0 -176
  167. package/templates/commands/business-analyse/bug.md +0 -118
  168. package/templates/commands/business-analyse/change-request.md +0 -144
  169. package/templates/commands/business-analyse/hotfix.md +0 -116
  170. package/templates/commands/business-analyse.md +0 -121
  171. package/templates/commands/controller/create.md +0 -216
  172. package/templates/commands/controller/postman-templates.md +0 -528
  173. package/templates/commands/controller/templates.md +0 -600
  174. package/templates/commands/controller.md +0 -337
  175. package/templates/commands/create/agent.md +0 -138
  176. package/templates/commands/create/command.md +0 -166
  177. package/templates/commands/create/hook.md +0 -234
  178. package/templates/commands/create/plugin.md +0 -329
  179. package/templates/commands/create/project.md +0 -508
  180. package/templates/commands/create/skill.md +0 -199
  181. package/templates/commands/create.md +0 -220
  182. package/templates/commands/documentation/module.md +0 -202
  183. package/templates/commands/documentation/templates.md +0 -432
  184. package/templates/commands/documentation.md +0 -190
  185. package/templates/commands/epct.md +0 -69
  186. package/templates/commands/explain.md +0 -186
  187. package/templates/commands/feature-full.md +0 -267
  188. package/templates/commands/gitflow/1-init.md +0 -188
  189. package/templates/commands/gitflow/10-start.md +0 -190
  190. package/templates/commands/gitflow/11-finish.md +0 -382
  191. package/templates/commands/gitflow/12-cleanup.md +0 -103
  192. package/templates/commands/gitflow/13-sync.md +0 -216
  193. package/templates/commands/gitflow/14-rebase.md +0 -251
  194. package/templates/commands/gitflow/2-status.md +0 -122
  195. package/templates/commands/gitflow/3-commit.md +0 -209
  196. package/templates/commands/gitflow/4-plan.md +0 -174
  197. package/templates/commands/gitflow/5-exec.md +0 -202
  198. package/templates/commands/gitflow/6-abort.md +0 -121
  199. package/templates/commands/gitflow/7-pull-request.md +0 -176
  200. package/templates/commands/gitflow/8-review.md +0 -113
  201. package/templates/commands/gitflow/9-merge.md +0 -157
  202. package/templates/commands/gitflow.md +0 -128
  203. package/templates/commands/implement.md +0 -663
  204. package/templates/commands/init.md +0 -567
  205. package/templates/commands/mcp-integration.md +0 -330
  206. package/templates/commands/notification.md +0 -129
  207. package/templates/commands/oneshot.md +0 -57
  208. package/templates/commands/quickstart.md +0 -154
  209. package/templates/commands/ralph-loop/cancel-ralph.md +0 -18
  210. package/templates/commands/ralph-loop/help.md +0 -126
  211. package/templates/commands/ralph-loop/ralph-loop.md +0 -120
  212. package/templates/commands/review.md +0 -106
  213. package/templates/commands/workflow.md +0 -193
  214. package/templates/gitflow/config.json +0 -138
@@ -0,0 +1,181 @@
1
+ ---
2
+ name: step-06-resolve
3
+ description: Resolve findings - interactively address review issues
4
+ prev_step: steps/step-05-examine.md
5
+ next_step: COMPLETE
6
+ ---
7
+
8
+ # Step 6: Resolve Findings
9
+
10
+ ## MANDATORY EXECUTION RULES:
11
+
12
+ - NEVER auto-fix Noise or Uncertain findings
13
+ - NEVER skip validation after fixes
14
+ - ALWAYS present resolution options to user (unless auto_mode)
15
+ - ALWAYS validate after applying fixes
16
+ - ALWAYS provide clear completion summary
17
+ - YOU ARE A RESOLVER, addressing identified issues
18
+ - FORBIDDEN to proceed with failing validation
19
+
20
+ ## YOUR TASK:
21
+
22
+ Address adversarial review findings interactively - fix real issues, dismiss noise, discuss uncertain items.
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
+ | `{auto_mode}` | Auto-fix Real findings |
34
+ | `{save_mode}` | Save outputs to files |
35
+ | `{output_dir}` | Path to output (if save_mode) |
36
+ | Findings table | IDs, severity, validity |
37
+ | Finding todos | For tracking |
38
+ </available_state>
39
+
40
+ ---
41
+
42
+ ## EXECUTION SEQUENCE:
43
+
44
+ ### 1. Present Resolution Options
45
+
46
+ **If `{auto_mode}` = true:**
47
+ Auto-fix all "Real" findings, skip Noise/Uncertain.
48
+
49
+ **If `{auto_mode}` = false:**
50
+
51
+ ```yaml
52
+ questions:
53
+ - header: "Resolution"
54
+ question: "How would you like to handle these findings?"
55
+ options:
56
+ - label: "Auto-fix Real issues (Recommended)"
57
+ description: "Fix 'Real' findings, skip noise/uncertain"
58
+ - label: "Walk through each finding"
59
+ description: "Decide on each finding individually"
60
+ - label: "Fix only critical"
61
+ description: "Only fix CRITICAL/BLOCKING issues"
62
+ - label: "Skip all"
63
+ description: "Acknowledge but don't change"
64
+ multiSelect: false
65
+ ```
66
+
67
+ ### 2. Apply Fixes Based on Choice
68
+
69
+ **Auto-fix Real:**
70
+ 1. Filter to Real findings only
71
+ 2. For each: Read file -> Apply fix -> Verify
72
+ 3. Log each fix
73
+
74
+ **Walk through each:**
75
+ For each finding in severity order:
76
+
77
+ ```yaml
78
+ questions:
79
+ - header: "F1"
80
+ question: "How should we handle this finding?"
81
+ options:
82
+ - label: "Fix now (Recommended)"
83
+ description: "Apply the suggested fix"
84
+ - label: "Skip"
85
+ description: "Acknowledge but don't fix"
86
+ - label: "Discuss"
87
+ description: "Need more context"
88
+ - label: "Mark as noise"
89
+ description: "Not a real issue"
90
+ multiSelect: false
91
+ ```
92
+
93
+ **Fix only critical:**
94
+ 1. Filter to CRITICAL/BLOCKING only
95
+ 2. Auto-fix those, skip others
96
+
97
+ **Skip all:**
98
+ 1. Acknowledge findings
99
+ 2. If Critical/High exist, confirm user wants to proceed anyway
100
+
101
+ ### 3. Post-Resolution Validation
102
+
103
+ After any fixes:
104
+
105
+ ```bash
106
+ pnpm run typecheck && pnpm run lint
107
+ ```
108
+
109
+ Both MUST pass.
110
+
111
+ ### 4. Resolution Summary
112
+
113
+ ```
114
+ **Resolution Complete**
115
+
116
+ **Fixed:** {count}
117
+ - F1: Parameterized SQL query in auth.ts:42
118
+ - F2: Added null check in handler.ts:78
119
+
120
+ **Skipped:** {count}
121
+ - F3: Complex function (uncertain)
122
+
123
+ **Validation:** Pass
124
+ ```
125
+
126
+ ### 5. Save Output (if save_mode)
127
+
128
+ **If `{save_mode}` = true:**
129
+
130
+ Write to `{output_dir}/06-resolve.md`:
131
+ - Resolution summary
132
+ - Fixes applied
133
+ - Timestamp
134
+ - Update 00-context.md Progress table: 06-resolve -> Complete
135
+
136
+ ### 6. Completion Summary
137
+
138
+ ```
139
+ **APEX Workflow Complete**
140
+
141
+ **Task:** {task_description}
142
+
143
+ **Implementation:**
144
+ - Files modified: {count}
145
+ - All checks passing: Yes
146
+
147
+ **Review:**
148
+ - Findings identified: {total}
149
+ - Findings resolved: {fixed}
150
+ - Findings skipped: {skipped}
151
+
152
+ **Next Steps:**
153
+ - [ ] Commit changes
154
+ - [ ] Run full test suite
155
+ - [ ] Deploy when ready
156
+ ```
157
+
158
+ ---
159
+
160
+ ## SUCCESS METRICS:
161
+
162
+ - User chose resolution approach
163
+ - All chosen fixes applied correctly
164
+ - Validation passes after fixes
165
+ - Clear summary of resolved/skipped
166
+ - User understands next steps
167
+
168
+ ## FAILURE MODES:
169
+
170
+ - Auto-fixing Noise or Uncertain findings
171
+ - Not validating after fixes
172
+ - No clear completion summary
173
+ - Proceeding with failing validation
174
+
175
+ ---
176
+
177
+ ## NEXT STEP:
178
+
179
+ Based on flags:
180
+ - **If test_mode:** Load `./step-07-tests.md`
181
+ - **Otherwise:** Workflow complete - show summary
@@ -0,0 +1,206 @@
1
+ ---
2
+ name: step-07-tests
3
+ description: Test analysis and creation - identify gaps and write tests
4
+ prev_step: steps/step-04-validate.md
5
+ next_step: steps/step-08-run-tests.md
6
+ ---
7
+
8
+ # Step 7: Tests (Analysis & Creation)
9
+
10
+ ## MANDATORY EXECUTION RULES:
11
+
12
+ - NEVER skip test coverage analysis
13
+ - NEVER write tests without reading existing patterns
14
+ - ALWAYS identify untested code paths
15
+ - ALWAYS follow existing test patterns
16
+ - ALWAYS create meaningful assertions
17
+ - YOU ARE A TEST ENGINEER, ensuring quality
18
+ - FORBIDDEN to write redundant tests
19
+
20
+ ## YOUR TASK:
21
+
22
+ Analyze test coverage for the implementation, identify gaps, and create comprehensive tests.
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
+ | `{auto_mode}` | Skip confirmations |
34
+ | `{save_mode}` | Save outputs to files |
35
+ | `{economy_mode}` | No subagents, direct tools |
36
+ | `{output_dir}` | Path to output (if save_mode) |
37
+ | Files modified | From step-03 |
38
+ </available_state>
39
+
40
+ ---
41
+
42
+ ## EXECUTION SEQUENCE:
43
+
44
+ ### 1. Analyze Existing Tests
45
+
46
+ **If `{economy_mode}` = true:**
47
+
48
+ Use direct tools:
49
+ 1. Glob for test files: `**/*.test.ts`, `**/*.spec.ts`
50
+ 2. Read 1-2 similar test files for patterns
51
+ 3. Identify test framework (jest, vitest, etc.)
52
+
53
+ **If `{economy_mode}` = false:**
54
+
55
+ Launch exploration agent:
56
+ ```
57
+ Analyze test structure for: {task_description}
58
+
59
+ Find:
60
+ 1. Test file naming conventions
61
+ 2. Test patterns used (describe/it, test())
62
+ 3. Mocking patterns
63
+ 4. Assertion style (expect, assert)
64
+ 5. Coverage of similar features
65
+ ```
66
+
67
+ ### 2. Identify Test Gaps
68
+
69
+ For each modified file, determine:
70
+
71
+ ```markdown
72
+ ## Test Coverage Analysis
73
+
74
+ ### `src/auth/handler.ts`
75
+ **Existing coverage:** 60%
76
+ **New code coverage:** 0%
77
+
78
+ **Untested paths:**
79
+ - [ ] `validateToken` happy path
80
+ - [ ] `validateToken` expired token error
81
+ - [ ] `validateToken` invalid signature error
82
+
83
+ ### `src/api/auth/route.ts`
84
+ **Existing coverage:** 80%
85
+ **New code coverage:** 0%
86
+
87
+ **Untested paths:**
88
+ - [ ] POST endpoint with valid credentials
89
+ - [ ] POST endpoint with invalid credentials
90
+ ```
91
+
92
+ ### 3. Plan Test Creation
93
+
94
+ ```markdown
95
+ ## Test Plan
96
+
97
+ ### New Test Files
98
+ - `src/auth/__tests__/handler.test.ts`
99
+ - Test validateToken function
100
+ - 3 test cases planned
101
+
102
+ ### Update Existing Tests
103
+ - `src/api/auth/__tests__/route.test.ts`
104
+ - Add integration tests for new endpoint
105
+ - 2 test cases planned
106
+
107
+ ### Test Cases Summary
108
+ | File | Function | Test Case | Priority |
109
+ |------|----------|-----------|----------|
110
+ | handler.test.ts | validateToken | Valid token returns payload | High |
111
+ | handler.test.ts | validateToken | Expired token throws error | High |
112
+ | handler.test.ts | validateToken | Invalid signature throws | Medium |
113
+ ```
114
+
115
+ ### 4. Write Tests
116
+
117
+ Follow existing patterns:
118
+
119
+ ```typescript
120
+ // Example pattern (adapt to project style)
121
+ describe('validateToken', () => {
122
+ it('should return payload for valid token', async () => {
123
+ // Arrange
124
+ const validToken = createTestToken({ userId: '123' });
125
+
126
+ // Act
127
+ const result = await validateToken(validToken);
128
+
129
+ // Assert
130
+ expect(result.userId).toBe('123');
131
+ });
132
+
133
+ it('should throw for expired token', async () => {
134
+ // Arrange
135
+ const expiredToken = createTestToken({ exp: Date.now() - 1000 });
136
+
137
+ // Act & Assert
138
+ await expect(validateToken(expiredToken)).rejects.toThrow('Token expired');
139
+ });
140
+ });
141
+ ```
142
+
143
+ **Economy mode:** Create essential tests only:
144
+ - 1 happy path test
145
+ - 1 error case test
146
+ - Skip edge cases unless critical
147
+
148
+ ### 5. Verify Tests Compile
149
+
150
+ ```bash
151
+ pnpm run typecheck
152
+ ```
153
+
154
+ Fix any type errors in tests.
155
+
156
+ ### 6. Save Output (if save_mode)
157
+
158
+ **If `{save_mode}` = true:**
159
+
160
+ Write to `{output_dir}/07-tests.md`:
161
+ - Coverage analysis
162
+ - Test plan
163
+ - Tests created
164
+ - Timestamp
165
+ - Update 00-context.md Progress table: 07-tests -> Complete
166
+
167
+ ### 7. Present Test Summary
168
+
169
+ ```
170
+ **Test Creation Complete**
171
+
172
+ **New test files:** {count}
173
+ **Test cases added:** {count}
174
+
175
+ **Coverage improvement:**
176
+ - Before: {X}%
177
+ - After: {Y}% (estimated)
178
+
179
+ **Tests ready to run.**
180
+ ```
181
+
182
+ **Proceed directly to step-08-run-tests.md**
183
+
184
+ ---
185
+
186
+ ## SUCCESS METRICS:
187
+
188
+ - Existing test patterns identified
189
+ - Coverage gaps documented
190
+ - Tests follow project conventions
191
+ - Tests compile without errors
192
+ - Meaningful assertions present
193
+
194
+ ## FAILURE MODES:
195
+
196
+ - Writing tests without reading existing patterns
197
+ - Creating redundant test coverage
198
+ - Tests that don't compile
199
+ - Meaningless assertions (just checking truthy)
200
+ - Using subagents in economy_mode
201
+
202
+ ---
203
+
204
+ ## NEXT STEP:
205
+
206
+ Always proceed to `./step-08-run-tests.md` to run the tests.
@@ -0,0 +1,207 @@
1
+ ---
2
+ name: step-08-run-tests
3
+ description: Test runner - execute tests until all pass
4
+ prev_step: steps/step-07-tests.md
5
+ next_step: COMPLETE
6
+ ---
7
+
8
+ # Step 8: Run Tests
9
+
10
+ ## MANDATORY EXECUTION RULES:
11
+
12
+ - NEVER claim tests pass when they don't
13
+ - NEVER give up after first failure
14
+ - ALWAYS run full test suite
15
+ - ALWAYS fix failing tests before proceeding
16
+ - ALWAYS re-run after each fix
17
+ - YOU ARE A TEST RUNNER, ensuring green build
18
+ - FORBIDDEN to proceed with failing tests
19
+
20
+ ## YOUR TASK:
21
+
22
+ Run the test suite, fix any failures, and ensure all tests pass.
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
+ | `{auto_mode}` | Auto-fix test failures |
34
+ | `{save_mode}` | Save outputs to files |
35
+ | `{output_dir}` | Path to output (if save_mode) |
36
+ | Tests created | From step-07 |
37
+ </available_state>
38
+
39
+ ---
40
+
41
+ ## EXECUTION SEQUENCE:
42
+
43
+ ### 1. Run Test Suite
44
+
45
+ ```bash
46
+ pnpm run test
47
+ ```
48
+
49
+ Or for specific tests:
50
+ ```bash
51
+ pnpm run test -- --filter="auth"
52
+ ```
53
+
54
+ ### 2. Analyze Results
55
+
56
+ **If ALL PASS:**
57
+ Skip to step 5 (Summary).
58
+
59
+ **If FAILURES:**
60
+ For each failing test:
61
+
62
+ ```markdown
63
+ ## Failing Test Analysis
64
+
65
+ ### Test: `validateToken should throw for expired token`
66
+ **File:** `src/auth/__tests__/handler.test.ts:25`
67
+ **Error:** `Expected: "Token expired", Received: "Invalid token"`
68
+
69
+ **Root Cause Analysis:**
70
+ - [ ] Test bug: Incorrect assertion
71
+ - [x] Code bug: Wrong error message
72
+ - [ ] Setup issue: Missing mock
73
+
74
+ **Fix:** Update error message in `validateToken` to be "Token expired"
75
+ ```
76
+
77
+ ### 3. Fix Failures
78
+
79
+ **Loop until green:**
80
+
81
+ ```
82
+ WHILE tests failing:
83
+ 1. Identify root cause (test bug vs code bug)
84
+ 2. Apply fix
85
+ 3. Re-run tests
86
+ 4. Log result
87
+ ```
88
+
89
+ **If `{auto_mode}` = true:**
90
+ Auto-fix obvious issues, continue loop.
91
+
92
+ **If `{auto_mode}` = false AND stuck:**
93
+
94
+ ```yaml
95
+ questions:
96
+ - header: "Test Fix"
97
+ question: "Test is still failing. How should we proceed?"
98
+ options:
99
+ - label: "Try alternative fix (Recommended)"
100
+ description: "Attempt a different approach"
101
+ - label: "Skip this test"
102
+ description: "Mark as skipped with TODO"
103
+ - label: "Discuss the issue"
104
+ description: "Need help understanding the failure"
105
+ multiSelect: false
106
+ ```
107
+
108
+ ### 4. Verify All Green
109
+
110
+ Final run:
111
+ ```bash
112
+ pnpm run test
113
+ ```
114
+
115
+ **MUST show all tests passing.**
116
+
117
+ ### 5. Save Output (if save_mode)
118
+
119
+ **If `{save_mode}` = true:**
120
+
121
+ Write to `{output_dir}/08-run-tests.md`:
122
+ - Test run results
123
+ - Failures encountered and fixes
124
+ - Final status
125
+ - Timestamp
126
+ - Update 00-context.md Progress table: 08-run-tests -> Complete
127
+
128
+ ### 6. Test Summary
129
+
130
+ ```
131
+ **Test Run Complete**
132
+
133
+ **Total tests:** {count}
134
+ **Passing:** {count}
135
+ **Failed:** 0
136
+
137
+ **Iterations to green:** {count}
138
+
139
+ **Fixes applied:**
140
+ - Fixed error message in validateToken
141
+ - Fixed mock setup in route.test.ts
142
+
143
+ **All tests passing.**
144
+ ```
145
+
146
+ ### 7. Determine Next Step
147
+
148
+ ```
149
+ IF {examine_mode} = true AND not already examined:
150
+ -> Load step-05-examine.md
151
+
152
+ ELSE:
153
+ -> Workflow complete - show final summary
154
+ ```
155
+
156
+ ---
157
+
158
+ ## SUCCESS METRICS:
159
+
160
+ - All tests executed
161
+ - All failures investigated
162
+ - Root causes identified
163
+ - Fixes applied correctly
164
+ - All tests passing at end
165
+
166
+ ## FAILURE MODES:
167
+
168
+ - Claiming green when tests fail
169
+ - Giving up after first failure
170
+ - Skipping tests without good reason
171
+ - Not re-running after fixes
172
+ - Not logging fix iterations
173
+
174
+ ---
175
+
176
+ ## NEXT STEP:
177
+
178
+ - **If examine_mode and not examined:** Load `./step-05-examine.md`
179
+ - **Otherwise:** Workflow complete - show final summary
180
+
181
+ ## FINAL SUMMARY TEMPLATE:
182
+
183
+ ```
184
+ **APEX Workflow Complete**
185
+
186
+ **Task:** {task_description}
187
+ **Task ID:** {task_id}
188
+
189
+ **Implementation:**
190
+ - Files modified: {count}
191
+ - Files created: {count}
192
+
193
+ **Quality:**
194
+ - Typecheck: Pass
195
+ - Lint: Pass
196
+ - Tests: {count}/{count} passing
197
+
198
+ **Review:** {examined ? "Complete" : "Skipped"}
199
+ **Findings resolved:** {count}
200
+
201
+ **Output saved:** {output_dir or "Not saved"}
202
+
203
+ **Next steps:**
204
+ - [ ] Review changes: `git diff`
205
+ - [ ] Commit: `git commit -m "{task_description}"`
206
+ - [ ] Push and create PR
207
+ ```
@@ -0,0 +1,46 @@
1
+ # APEX Task: {{task_id}}
2
+
3
+ **Created:** {{timestamp}}
4
+ **Task:** {{task_description}}
5
+
6
+ ---
7
+
8
+ ## Configuration
9
+
10
+ | Flag | Value |
11
+ |------|-------|
12
+ | Auto mode (`-a`) | {{auto_mode}} |
13
+ | Examine mode (`-x`) | {{examine_mode}} |
14
+ | Save mode (`-s`) | {{save_mode}} |
15
+ | Test mode (`-t`) | {{test_mode}} |
16
+ | Economy mode (`-e`) | {{economy_mode}} |
17
+
18
+ ---
19
+
20
+ ## User Request
21
+
22
+ ```
23
+ {{original_input}}
24
+ ```
25
+
26
+ ---
27
+
28
+ ## Acceptance Criteria
29
+
30
+ _To be defined in step-01-analyze_
31
+
32
+ ---
33
+
34
+ ## Progress
35
+
36
+ | Step | Status |
37
+ |------|--------|
38
+ | 00-init | {{init_status}} |
39
+ | 01-analyze | Pending |
40
+ | 02-plan | Pending |
41
+ | 03-execute | Pending |
42
+ | 04-validate | Pending |
43
+ | 05-examine | {{examine_status}} |
44
+ | 06-resolve | {{examine_status}} |
45
+ | 07-tests | {{test_status}} |
46
+ | 08-run-tests | {{test_status}} |
@@ -0,0 +1,63 @@
1
+ # Step 01: Analyze
2
+
3
+ **Task:** {{task_description}}
4
+ **Started:** {{timestamp}}
5
+
6
+ ---
7
+
8
+ ## Context Discovery
9
+
10
+ ### Search Keywords
11
+ _Keywords extracted from task description_
12
+
13
+ ### Related Files Found
14
+
15
+ | File | Lines | Contains |
16
+ |------|-------|----------|
17
+ | | | |
18
+
19
+ ### Patterns Observed
20
+ _Patterns discovered in existing code_
21
+
22
+ ### Utilities Available
23
+ _Existing utilities that can be reused_
24
+
25
+ ### Similar Implementations
26
+ _Reference implementations found_
27
+
28
+ ### Test Patterns
29
+ _How tests are structured in this project_
30
+
31
+ ---
32
+
33
+ ## Documentation Insights
34
+
35
+ ### Libraries Used
36
+ _Libraries and their usage patterns_
37
+
38
+ ---
39
+
40
+ ## Research Findings
41
+
42
+ ### Common Approaches
43
+ _Best practices discovered_
44
+
45
+ ---
46
+
47
+ ## Inferred Acceptance Criteria
48
+
49
+ - [ ] AC1:
50
+ - [ ] AC2:
51
+ - [ ] AC3:
52
+
53
+ ---
54
+
55
+ ## Summary
56
+
57
+ **Files analyzed:**
58
+ **Patterns identified:**
59
+ **Utilities found:**
60
+
61
+ ---
62
+
63
+ **Status:** _Pending_