@hustle-together/api-dev-tools 3.11.1 → 3.12.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 (139) hide show
  1. package/.claude/agents/code-reviewer.md +170 -0
  2. package/.claude/agents/docs-generator.md +80 -0
  3. package/.claude/agents/implementation-reviewer.md +119 -0
  4. package/.claude/agents/parallel-researcher.md +52 -0
  5. package/.claude/agents/research-validator.md +116 -0
  6. package/.claude/agents/schema-generator.md +70 -0
  7. package/.claude/agents/test-writer.md +104 -0
  8. package/.claude/api-dev-state.json +228 -56
  9. package/.claude/commands/README.md +21 -10
  10. package/.claude/commands/add-command.md +8 -5
  11. package/.claude/commands/api-create.md +36 -25
  12. package/.claude/commands/api-env.md +1 -0
  13. package/.claude/commands/api-interview.md +32 -19
  14. package/.claude/commands/api-research.md +47 -21
  15. package/.claude/commands/api-status.md +21 -1
  16. package/.claude/commands/api-verify.md +14 -13
  17. package/.claude/commands/beepboop.md +4 -5
  18. package/.claude/commands/busycommit.md +2 -3
  19. package/.claude/commands/commit.md +2 -3
  20. package/.claude/commands/cycle.md +2 -7
  21. package/.claude/commands/gap.md +2 -3
  22. package/.claude/commands/green.md +2 -7
  23. package/.claude/commands/issue.md +3 -8
  24. package/.claude/commands/ntfy-setup.md +91 -0
  25. package/.claude/commands/ntfy-test.md +74 -0
  26. package/.claude/commands/plan.md +2 -3
  27. package/.claude/commands/pr.md +2 -3
  28. package/.claude/commands/publish.md +40 -0
  29. package/.claude/commands/red.md +2 -7
  30. package/.claude/commands/refactor.md +2 -7
  31. package/.claude/commands/spike.md +2 -7
  32. package/.claude/commands/summarize.md +2 -3
  33. package/.claude/commands/tdd.md +2 -7
  34. package/.claude/commands/worktree-add.md +208 -216
  35. package/.claude/commands/worktree-cleanup.md +172 -178
  36. package/.claude/settings.json +63 -12
  37. package/.claude/settings.local.json +2 -1
  38. package/.claude-plugin/marketplace.json +2 -11
  39. package/.skills/README.md +55 -53
  40. package/.skills/_shared/settings.json +1 -1
  41. package/.skills/add-command/SKILL.md +10 -5
  42. package/.skills/api-create/SKILL.md +146 -35
  43. package/.skills/api-env/SKILL.md +1 -0
  44. package/.skills/api-interview/SKILL.md +32 -19
  45. package/.skills/api-research/SKILL.md +47 -21
  46. package/.skills/api-status/SKILL.md +21 -1
  47. package/.skills/api-verify/SKILL.md +14 -13
  48. package/.skills/beepboop/SKILL.md +6 -5
  49. package/.skills/busycommit/SKILL.md +4 -3
  50. package/.skills/commit/SKILL.md +4 -3
  51. package/.skills/cycle/SKILL.md +4 -7
  52. package/.skills/gap/SKILL.md +4 -3
  53. package/.skills/green/SKILL.md +4 -7
  54. package/.skills/issue/SKILL.md +5 -8
  55. package/.skills/plan/SKILL.md +4 -3
  56. package/.skills/pr/SKILL.md +4 -3
  57. package/.skills/publish/SKILL.md +160 -0
  58. package/.skills/red/SKILL.md +4 -7
  59. package/.skills/refactor/SKILL.md +4 -7
  60. package/.skills/spike/SKILL.md +4 -7
  61. package/.skills/summarize/SKILL.md +4 -3
  62. package/.skills/tdd/SKILL.md +4 -7
  63. package/.skills/update-todos/SKILL.md +22 -0
  64. package/.skills/worktree-add/SKILL.md +210 -216
  65. package/.skills/worktree-cleanup/SKILL.md +183 -187
  66. package/CHANGELOG.md +97 -79
  67. package/README.md +161 -7142
  68. package/bin/cli.js +448 -805
  69. package/commands/README.md +66 -31
  70. package/commands/add-command.md +8 -5
  71. package/commands/beepboop.md +4 -5
  72. package/commands/busycommit.md +2 -3
  73. package/commands/commit.md +2 -3
  74. package/commands/cycle.md +2 -7
  75. package/commands/gap.md +2 -3
  76. package/commands/green.md +2 -7
  77. package/commands/hustle-api-continue.md +8 -5
  78. package/commands/hustle-api-create.md +70 -29
  79. package/commands/hustle-api-env.md +1 -0
  80. package/commands/hustle-api-interview.md +32 -19
  81. package/commands/hustle-api-research.md +47 -21
  82. package/commands/hustle-api-sessions.md +8 -7
  83. package/commands/hustle-api-status.md +21 -1
  84. package/commands/hustle-api-verify.md +14 -13
  85. package/commands/hustle-combine.md +488 -241
  86. package/commands/hustle-ui-create-page.md +113 -50
  87. package/commands/hustle-ui-create.md +179 -26
  88. package/commands/issue.md +3 -8
  89. package/commands/plan.md +2 -3
  90. package/commands/pr.md +2 -3
  91. package/commands/red.md +2 -7
  92. package/commands/refactor.md +2 -7
  93. package/commands/spike.md +2 -7
  94. package/commands/summarize.md +2 -3
  95. package/commands/tdd.md +2 -7
  96. package/commands/worktree-add.md +208 -216
  97. package/commands/worktree-cleanup.md +172 -178
  98. package/hooks/api-workflow-check.py +5 -3
  99. package/hooks/enforce-component-type-confirm.py +97 -0
  100. package/hooks/lib/__init__.py +1 -0
  101. package/hooks/lib/greptile.py +355 -0
  102. package/hooks/lib/ntfy.py +209 -0
  103. package/hooks/notify-input-needed.py +73 -0
  104. package/hooks/notify-phase-complete.py +90 -0
  105. package/hooks/run-code-review.py +246 -0
  106. package/hooks/track-token-usage.py +121 -0
  107. package/package.json +13 -3
  108. package/scripts/collect-test-results.ts +102 -77
  109. package/scripts/extract-parameters.ts +112 -70
  110. package/scripts/generate-test-manifest.ts +118 -77
  111. package/templates/.env.example +57 -0
  112. package/templates/BRAND_GUIDE.md +92 -52
  113. package/templates/CLAUDE-SECTION.md +40 -37
  114. package/templates/SPEC.json +186 -38
  115. package/templates/api-dev-state.json +33 -4
  116. package/templates/api-showcase/_components/APICard.tsx +22 -18
  117. package/templates/api-showcase/_components/APIModal.tsx +110 -64
  118. package/templates/api-showcase/_components/APIShowcase.tsx +53 -35
  119. package/templates/api-showcase/_components/APITester.tsx +128 -67
  120. package/templates/api-showcase/page.tsx +4 -4
  121. package/templates/api-test/page.tsx +51 -30
  122. package/templates/api-test/test-structure/route.ts +43 -34
  123. package/templates/component/Component.stories.tsx +41 -39
  124. package/templates/component/Component.test.tsx +96 -78
  125. package/templates/component/Component.tsx +63 -52
  126. package/templates/component/Component.types.ts +10 -6
  127. package/templates/component/Component.visual.spec.ts +170 -0
  128. package/templates/component/index.ts +2 -2
  129. package/templates/dev-tools/_components/DevToolsLanding.tsx +8 -8
  130. package/templates/dev-tools/page.tsx +4 -3
  131. package/templates/mcp-servers.json +30 -2
  132. package/templates/page/page.e2e.test.ts +56 -48
  133. package/templates/page/page.tsx +3 -3
  134. package/templates/shared/HeroHeader.tsx +16 -15
  135. package/templates/shared/index.ts +1 -1
  136. package/templates/ui-showcase/_components/PreviewCard.tsx +20 -20
  137. package/templates/ui-showcase/_components/PreviewModal.tsx +149 -108
  138. package/templates/ui-showcase/_components/UIShowcase.tsx +43 -35
  139. package/templates/ui-showcase/page.tsx +4 -4
@@ -20,6 +20,7 @@ allowed-tools: WebSearch WebFetch mcp__context7 mcp__github AskUserQuestion Read
20
20
  ## Key Principle: Questions FROM Research
21
21
 
22
22
  **OLD WAY (Generic Templates):**
23
+
23
24
  ```
24
25
  "Which AI provider should this endpoint support?"
25
26
  - OpenAI
@@ -28,6 +29,7 @@ allowed-tools: WebSearch WebFetch mcp__context7 mcp__github AskUserQuestion Read
28
29
  ```
29
30
 
30
31
  **NEW WAY (From Research):**
32
+
31
33
  ```
32
34
  Based on research, Brandfetch API has 7 parameters:
33
35
 
@@ -53,6 +55,7 @@ Based on research, Brandfetch API has 7 parameters:
53
55
  **Interview is BLOCKED until research is done.**
54
56
 
55
57
  The interview READS from the research findings:
58
+
56
59
  ```
57
60
  State file shows:
58
61
  research_initial.status = "complete"
@@ -70,6 +73,7 @@ Discovered parameters:
70
73
  For each discovered parameter, generate an appropriate question:
71
74
 
72
75
  #### Required Parameters (Confirmation Only)
76
+
73
77
  ```
74
78
  ┌────────────────────────────────────────────────────────────┐
75
79
  │ REQUIRED PARAMETERS │
@@ -84,6 +88,7 @@ For each discovered parameter, generate an appropriate question:
84
88
  ```
85
89
 
86
90
  #### Enum Parameters (Multi-Select)
91
+
87
92
  ```
88
93
  ┌────────────────────────────────────────────────────────────┐
89
94
  │ FORMAT PARAMETER │
@@ -100,6 +105,7 @@ For each discovered parameter, generate an appropriate question:
100
105
  ```
101
106
 
102
107
  #### Continuous Parameters (Test Strategy)
108
+
103
109
  ```
104
110
  ┌────────────────────────────────────────────────────────────┐
105
111
  │ QUALITY PARAMETER │
@@ -118,6 +124,7 @@ For each discovered parameter, generate an appropriate question:
118
124
  ```
119
125
 
120
126
  #### Boolean Parameters (Enable/Disable)
127
+
121
128
  ```
122
129
  ┌────────────────────────────────────────────────────────────┐
123
130
  │ INCLUDE_COLORS PARAMETER │
@@ -202,14 +209,14 @@ After interview, propose additional research:
202
209
 
203
210
  ## Question Types Summary
204
211
 
205
- | Discovered Type | Question Type | Example |
206
- |----------------|---------------|---------|
207
- | Required param | Confirmation | "Confirm these are understood?" |
208
- | Enum param | Multi-select | "Which formats to support?" |
209
- | Continuous range | Test strategy | "How to test 1-100 range?" |
210
- | Boolean param | Enable/disable | "Expose this parameter?" |
211
- | Optional feature | Priority | "Include this feature?" |
212
- | Error case | Handling strategy | "How to handle rate limits?" |
212
+ | Discovered Type | Question Type | Example |
213
+ | ---------------- | ----------------- | ------------------------------- |
214
+ | Required param | Confirmation | "Confirm these are understood?" |
215
+ | Enum param | Multi-select | "Which formats to support?" |
216
+ | Continuous range | Test strategy | "How to test 1-100 range?" |
217
+ | Boolean param | Enable/disable | "Expose this parameter?" |
218
+ | Optional feature | Priority | "Include this feature?" |
219
+ | Error case | Handling strategy | "How to handle rate limits?" |
213
220
 
214
221
  ## State Tracking
215
222
 
@@ -252,7 +259,7 @@ All decisions are saved to `.claude/api-dev-state.json`:
252
259
 
253
260
  Creates: `.claude/research/[api-name]/interview.md`
254
261
 
255
- ```markdown
262
+ ````markdown
256
263
  # Interview: [API Name]
257
264
 
258
265
  **Date:** [current-date]
@@ -261,19 +268,19 @@ Creates: `.claude/research/[api-name]/interview.md`
261
268
 
262
269
  ## Discovered Parameters
263
270
 
264
- | Parameter | Type | Required | Decision |
265
- |-----------|------|----------|----------|
266
- | domain | string | Yes | Always required |
267
- | format | enum | No | json, svg, png |
268
- | quality | 1-100 | No | Boundary testing: 1, 50, 100 |
271
+ | Parameter | Type | Required | Decision |
272
+ | --------- | ------ | -------- | ---------------------------- |
273
+ | domain | string | Yes | Always required |
274
+ | format | enum | No | json, svg, png |
275
+ | quality | 1-100 | No | Boundary testing: 1, 50, 100 |
269
276
 
270
277
  ## Feature Scope
271
278
 
272
- | Feature | Included | Reason |
273
- |---------|----------|--------|
274
- | Basic fetch | Yes | Core functionality |
275
- | Multiple formats | Yes | User selected |
276
- | Webhooks | No | Deferred to v2 |
279
+ | Feature | Included | Reason |
280
+ | ---------------- | -------- | ------------------ |
281
+ | Basic fetch | Yes | Core functionality |
282
+ | Multiple formats | Yes | User selected |
283
+ | Webhooks | No | Deferred to v2 |
277
284
 
278
285
  ## Test Strategy
279
286
 
@@ -290,6 +297,7 @@ Creates: `.claude/research/[api-name]/interview.md`
290
297
  "rate_limit_handling": "exponential_backoff"
291
298
  }
292
299
  ```
300
+ ````
293
301
 
294
302
  ## Deep Research Approved
295
303
 
@@ -299,6 +307,7 @@ Creates: `.claude/research/[api-name]/interview.md`
299
307
  ## Open Questions
300
308
 
301
309
  [Any remaining ambiguities]
310
+
302
311
  ```
303
312
 
304
313
  ## Integration with Hooks
@@ -306,14 +315,17 @@ Creates: `.claude/research/[api-name]/interview.md`
306
315
  The `enforce-interview.py` hook injects these decisions when Claude tries to write implementation:
307
316
 
308
317
  ```
318
+
309
319
  INTERVIEW CONTEXT REMINDER
310
320
 
311
321
  When implementing, remember user decisions:
322
+
312
323
  - format: ["json", "svg", "png"] (raw excluded)
313
324
  - quality: boundary testing (1, 50, 100)
314
325
  - rate limits: exponential backoff
315
326
 
316
327
  Source: .claude/api-dev-state.json
328
+
317
329
  ```
318
330
 
319
331
  <claude-commands-template>
@@ -342,3 +354,4 @@ Source: .claude/api-dev-state.json
342
354
  - Decisions injected during implementation via hook
343
355
  - Consistency between interview answers and code enforced
344
356
  </claude-commands-template>
357
+ ```
@@ -22,6 +22,7 @@ allowed-tools: WebSearch WebFetch mcp__context7 mcp__github AskUserQuestion Read
22
22
  **NOT shotgun research** - We don't blindly run 20 searches.
23
23
 
24
24
  **Adaptive flow:**
25
+
25
26
  1. Run 2-3 initial searches
26
27
  2. Summarize findings
27
28
  3. PROPOSE additional searches based on context
@@ -34,6 +35,7 @@ allowed-tools: WebSearch WebFetch mcp__context7 mcp__github AskUserQuestion Read
34
35
  ### Initial Discovery (Automatic)
35
36
 
36
37
  Run 2-3 targeted searches:
38
+
37
39
  ```
38
40
  - Context7: "[library-name]" (if SDK/library)
39
41
  - WebSearch: "[name] official documentation"
@@ -41,6 +43,7 @@ Run 2-3 targeted searches:
41
43
  ```
42
44
 
43
45
  Present initial summary:
46
+
44
47
  ```
45
48
  ┌────────────────────────────────────────────────────────────┐
46
49
  │ INITIAL RESEARCH: [library-name] │
@@ -94,6 +97,7 @@ After interview, PROPOSE targeted searches based on user's selections:
94
97
  ### Execute Approved Searches
95
98
 
96
99
  Only run searches that were explicitly approved:
100
+
97
101
  - Track which searches were proposed vs approved vs skipped
98
102
  - Log everything to state file for transparency
99
103
 
@@ -113,9 +117,7 @@ Only run searches that were explicitly approved:
113
117
  "SVG optimization options",
114
118
  "batch processing"
115
119
  ],
116
- "skipped_searches": [
117
- "webhook support"
118
- ]
120
+ "skipped_searches": ["webhook support"]
119
121
  }
120
122
  }
121
123
  ```
@@ -154,6 +156,7 @@ Research is cached in `.claude/research/[api-name]/`:
154
156
  ```
155
157
 
156
158
  **Freshness Rule:** If research is >7 days old when referenced:
159
+
157
160
  ```
158
161
  ⚠️ Research for "brandfetch" is 15 days old.
159
162
  Re-research before using? [Y/n]
@@ -163,7 +166,7 @@ Re-research before using? [Y/n]
163
166
 
164
167
  Creates: `.claude/research/[library-name]/CURRENT.md`
165
168
 
166
- ```markdown
169
+ ````markdown
167
170
  # Research: [Library/Service Name]
168
171
 
169
172
  **Date:** [current-date]
@@ -172,6 +175,7 @@ Creates: `.claude/research/[library-name]/CURRENT.md`
172
175
  **Freshness:** 0 days (valid for 7 days)
173
176
 
174
177
  ## 1. Official Documentation Links
178
+
175
179
  - Main docs: [URL]
176
180
  - API reference: [URL]
177
181
  - GitHub repo: [URL]
@@ -179,72 +183,93 @@ Creates: `.claude/research/[library-name]/CURRENT.md`
179
183
  - TypeScript types: [URL]
180
184
 
181
185
  ## 2. Installation & Setup
186
+
182
187
  ### Installation
188
+
183
189
  ```bash
184
190
  [installation command]
185
191
  ```
192
+ ````
186
193
 
187
194
  ### Environment Variables
195
+
188
196
  ```env
189
197
  [required env vars]
190
198
  ```
191
199
 
192
200
  ### API Key Setup
201
+
193
202
  [How to obtain and configure]
194
203
 
195
204
  ## 3. Complete Request Schema
205
+
196
206
  ### Required Parameters
197
- | Parameter | Type | Description | Validation |
198
- |-----------|------|-------------|------------|
199
- | [name] | [type] | [desc] | [rules] |
207
+
208
+ | Parameter | Type | Description | Validation |
209
+ | --------- | ------ | ----------- | ---------- |
210
+ | [name] | [type] | [desc] | [rules] |
200
211
 
201
212
  ### Optional Parameters
202
- | Parameter | Type | Default | Description | Notes |
203
- |-----------|------|---------|-------------|-------|
204
- | [name] | [type] | [default] | [desc] | [notes] |
213
+
214
+ | Parameter | Type | Default | Description | Notes |
215
+ | --------- | ------ | --------- | ----------- | ------- |
216
+ | [name] | [type] | [default] | [desc] | [notes] |
205
217
 
206
218
  ### Continuous Parameters (for test strategy)
207
- | Parameter | Type | Range | Suggested Test Values |
208
- |-----------|------|-------|----------------------|
209
- | quality | number | 1-100 | 1, 50, 100 (boundary) |
210
- | timeout | number | 1000-30000 | 1000, 15000, 30000 |
219
+
220
+ | Parameter | Type | Range | Suggested Test Values |
221
+ | --------- | ------ | ---------- | --------------------- |
222
+ | quality | number | 1-100 | 1, 50, 100 (boundary) |
223
+ | timeout | number | 1000-30000 | 1000, 15000, 30000 |
211
224
 
212
225
  ## 4. Complete Response Schema
226
+
213
227
  ### Success Response
228
+
214
229
  [TypeScript interface]
215
230
 
216
231
  ### Error Response
232
+
217
233
  [TypeScript interface with error codes]
218
234
 
219
235
  ## 5. Features & Capabilities
236
+
220
237
  ### Core Features (Discovered)
238
+
221
239
  - [x] [Feature 1]: [description]
222
240
  - [x] [Feature 2]: [description]
223
241
 
224
242
  ### Features NOT Implemented (Intentional)
243
+
225
244
  - [ ] [Feature]: [reason for exclusion]
226
245
 
227
246
  ## 6. Limitations & Constraints
247
+
228
248
  - Rate limits: [details]
229
249
  - Size limits: [details]
230
250
  - Timeout: [details]
231
251
 
232
252
  ## 7. Testing Considerations
253
+
233
254
  - [ ] Test boundary values for continuous params
234
255
  - [ ] Test all enum values
235
256
  - [ ] Test error responses
236
257
  - [ ] Test rate limiting behavior
237
258
 
238
259
  ## 8. Research Trail
260
+
239
261
  ### Searches Performed
240
- | Search | Tool | Found |
241
- |--------|------|-------|
242
- | "[name] documentation" | WebSearch | |
243
- | "[name]" | Context7 | ✓ |
262
+
263
+ | Search | Tool | Found |
264
+ | ---------------------- | --------- | ----- |
265
+ | "[name] documentation" | WebSearch | ✓ |
266
+ | "[name]" | Context7 | ✓ |
244
267
 
245
268
  ### Proposed but Skipped
269
+
246
270
  - "webhook support" - User declined, not needed
247
- ```
271
+
272
+ ````
248
273
 
249
274
  ## Research-First Schema Design (MANDATORY)
250
275
 
@@ -309,11 +334,12 @@ All research is tracked in `.claude/api-dev-state.json`:
309
334
  }
310
335
  }
311
336
  }
312
- ```
337
+ ````
313
338
 
314
339
  ## Usage Examples
315
340
 
316
341
  ### Research with full flow
342
+
317
343
  ```bash
318
344
  /api-research brandfetch
319
345
  # → Initial search (2-3 queries)
@@ -341,4 +367,4 @@ All research is tracked in `.claude/api-dev-state.json`:
341
367
  - Phase 5 uses adaptive proposal flow
342
368
  - Phase 10 (Verify) triggers re-research
343
369
  - Freshness check prevents stale data
344
- </claude-commands-template>
370
+ </claude-commands-template>
@@ -31,6 +31,7 @@ Path: .claude/api-dev-state.json
31
31
  ```
32
32
 
33
33
  Parse the JSON and display a formatted status report showing:
34
+
34
35
  - Current endpoint being worked on
35
36
  - Phase completion status (scope, research, interview, TDD, docs)
36
37
  - Sources consulted during research
@@ -73,6 +74,7 @@ VERIFICATION:
73
74
  ## What This Shows
74
75
 
75
76
  ### For Specific Endpoint
77
+
76
78
  ```
77
79
  📊 Status: /api/v2/generate-css
78
80
 
@@ -100,6 +102,7 @@ Next Steps: None - endpoint complete
100
102
  ```
101
103
 
102
104
  ### For All Endpoints
105
+
103
106
  ```
104
107
  📊 V2 API Implementation Status
105
108
 
@@ -135,12 +138,14 @@ Last updated: 2025-12-06
135
138
  ## Commands
136
139
 
137
140
  ### View Status
141
+
138
142
  ```bash
139
143
  /api-status generate-css # Specific endpoint
140
144
  /api-status --all # All endpoints
141
145
  ```
142
146
 
143
147
  ### Update Status
148
+
144
149
  ```bash
145
150
  /api-status generate-css --phase=testing
146
151
  /api-status generate-css --complete
@@ -151,6 +156,7 @@ Last updated: 2025-12-06
151
156
  Updates: `/src/v2/docs/v2-api-implementation-status.md`
152
157
 
153
158
  **Format:**
159
+
154
160
  ```markdown
155
161
  # V2 API Implementation Status
156
162
 
@@ -161,6 +167,7 @@ Updates: `/src/v2/docs/v2-api-implementation-status.md`
161
167
  ## Endpoints
162
168
 
163
169
  ### ✅ /api/v2/health
170
+
164
171
  - **Status:** Complete
165
172
  - **Tests:** 15/15 passing
166
173
  - **Coverage:** 100%
@@ -169,6 +176,7 @@ Updates: `/src/v2/docs/v2-api-implementation-status.md`
169
176
  - **Purpose:** System health check with dependency validation
170
177
 
171
178
  ### 🚧 /api/v2/generate-css
179
+
172
180
  - **Status:** In Progress (Testing)
173
181
  - **Tests:** 20/33 passing
174
182
  - **Coverage:** 85%
@@ -178,6 +186,7 @@ Updates: `/src/v2/docs/v2-api-implementation-status.md`
178
186
  - **Next:** Complete remaining tests
179
187
 
180
188
  ### 📋 /api/v2/generate-html
189
+
181
190
  - **Status:** Planned
182
191
  - **Priority:** High
183
192
  - **Dependencies:** None
@@ -188,24 +197,28 @@ Updates: `/src/v2/docs/v2-api-implementation-status.md`
188
197
  ## Integration with Workflow
189
198
 
190
199
  ### After Interview
200
+
191
201
  ```bash
192
202
  /api-interview generate-css
193
203
  /api-status generate-css --phase=interview-complete
194
204
  ```
195
205
 
196
206
  ### After Research
207
+
197
208
  ```bash
198
209
  /api-research gemini-flash
199
210
  /api-status generate-css --phase=research-complete
200
211
  ```
201
212
 
202
213
  ### After TDD Cycle
214
+
203
215
  ```bash
204
216
  /cycle generate CSS with Gemini
205
217
  /api-status generate-css --complete
206
218
  ```
207
219
 
208
220
  ### Before Commit
221
+
209
222
  ```bash
210
223
  pnpm test:run
211
224
  /api-status --all # Verify all green
@@ -215,6 +228,7 @@ pnpm test:run
215
228
  ## Automatic Updates
216
229
 
217
230
  The `/api-create` command automatically updates status:
231
+
218
232
  - Interview phase → "Interview Complete"
219
233
  - Red phase → "Tests Written"
220
234
  - Green phase → "Implementation Complete"
@@ -237,21 +251,27 @@ The `/api-create` command automatically updates status:
237
251
  ## Reports
238
252
 
239
253
  ### Coverage Report
254
+
240
255
  ```bash
241
256
  /api-status --coverage
242
257
  ```
258
+
243
259
  Shows test coverage for all V2 endpoints.
244
260
 
245
261
  ### Migration Report
262
+
246
263
  ```bash
247
264
  /api-status --migration
248
265
  ```
266
+
249
267
  Shows progress from legacy to V2.
250
268
 
251
269
  ### Blockers Report
270
+
252
271
  ```bash
253
272
  /api-status --blocked
254
273
  ```
274
+
255
275
  Shows endpoints blocked by missing keys, dependencies, etc.
256
276
 
257
277
  <claude-commands-template>
@@ -269,4 +289,4 @@ Shows endpoints blocked by missing keys, dependencies, etc.
269
289
  - Used by /commit to verify readiness
270
290
  - Used by team to see what's done
271
291
  - Used for planning future work
272
- </claude-commands-template>
292
+ </claude-commands-template>
@@ -151,24 +151,24 @@ Creates: `.claude/research/[api-name]/verification.md`
151
151
 
152
152
  **Date:** [current-date]
153
153
  **Implementation File:** src/app/api/v2/[endpoint]/route.ts
154
- **Test File:** src/app/api/v2/[endpoint]/__tests__/[endpoint].api.test.ts
154
+ **Test File:** src/app/api/v2/[endpoint]/**tests**/[endpoint].api.test.ts
155
155
 
156
156
  ## Documentation Sources Re-Checked
157
157
 
158
- | Source | URL | Checked |
159
- |--------|-----|---------|
160
- | Official docs | [URL] | ✓ |
161
- | Context7 | [library] | ✓ |
162
- | Cached research | .claude/research/[api]/CURRENT.md | ✓ |
158
+ | Source | URL | Checked |
159
+ | --------------- | --------------------------------- | ------- |
160
+ | Official docs | [URL] | ✓ |
161
+ | Context7 | [library] | ✓ |
162
+ | Cached research | .claude/research/[api]/CURRENT.md | ✓ |
163
163
 
164
164
  ## Feature Comparison
165
165
 
166
- | Feature | In Docs | Implemented | Status |
167
- |---------|---------|-------------|--------|
168
- | domain param | ✓ | ✓ | ✅ Match |
169
- | format param | 4 options | 3 options | ⚠️ Fixed |
170
- | size param | ✓ | ✓ | ⚠️ Fixed |
171
- | webhook | ✓ | ✗ | ℹ️ Intentional |
166
+ | Feature | In Docs | Implemented | Status |
167
+ | ------------ | --------- | ----------- | -------------- |
168
+ | domain param | ✓ | ✓ | ✅ Match |
169
+ | format param | 4 options | 3 options | ⚠️ Fixed |
170
+ | size param | ✓ | ✓ | ⚠️ Fixed |
171
+ | webhook | ✓ | ✗ | ℹ️ Intentional |
172
172
 
173
173
  ## Gaps Fixed
174
174
 
@@ -203,6 +203,7 @@ Creates: `.claude/research/[api-name]/verification.md`
203
203
  This command is normally triggered automatically by `verify-after-green.py` hook after tests pass.
204
204
 
205
205
  Manual invocation is useful when:
206
+
206
207
  - Hook was skipped or didn't trigger
207
208
  - Want to re-verify after changes
208
209
  - Research is stale and needs refresh
@@ -241,4 +242,4 @@ Phase 10: VERIFY ← /api-verify triggers this
241
242
  - Error codes handled?
242
243
  - Optional features accounted for?
243
244
  - Default values match docs?
244
- </claude-commands-template>
245
+ </claude-commands-template>
@@ -12,8 +12,10 @@ allowed-tools: WebSearch WebFetch mcp__context7 mcp__github AskUserQuestion Read
12
12
  ---
13
13
 
14
14
  ---
15
+
15
16
  description: Communicate AI-generated content with transparent attribution
16
17
  argument-hint: <task-description>
18
+
17
19
  ---
18
20
 
19
21
  # AI-Attributed Communication Command
@@ -34,7 +36,7 @@ Arguments: $ARGUMENTS
34
36
 
35
37
  **IMPORTANT Communication Format:**
36
38
 
37
- 1. **Opening**: Begin with "*Beep boop, I am Claude Code 🤖, my user has reviewed and approved the following written by me:*"
39
+ 1. **Opening**: Begin with "_Beep boop, I am Claude Code 🤖, my user has reviewed and approved the following written by me:_"
38
40
  - Use italics for this line
39
41
  - Clearly establishes AI authorship
40
42
 
@@ -42,7 +44,7 @@ Arguments: $ARGUMENTS
42
44
  - Execute whatever communication task the user requested
43
45
  - Write the actual content that accomplishes the user's goal
44
46
 
45
- 3. **Closing**: End with "*Beep boop, Claude Code 🤖 out!*"
47
+ 3. **Closing**: End with "_Beep boop, Claude Code 🤖 out!_"
46
48
  - Use italics for this line
47
49
  - Provides clear closure
48
50
 
@@ -57,7 +59,6 @@ This command ensures transparency about AI usage while maintaining that the user
57
59
  - Responding to feedback with AI-generated explanations
58
60
  - Any communication where AI attribution is valuable
59
61
 
60
-
61
62
  ## 🛡 Project Rules (Injected into every command)
62
63
 
63
64
  1. **NO BROKEN BUILDS:**
@@ -82,7 +83,7 @@ This command ensures transparency about AI usage while maintaining that the user
82
83
  4. **API KEY MANAGEMENT:**
83
84
  - Support three loading methods:
84
85
  - Server environment variables
85
- - NEXT_PUBLIC_ variables (client-side)
86
+ - NEXT*PUBLIC* variables (client-side)
86
87
  - Custom headers (X-OpenAI-Key, X-Anthropic-Key, etc.)
87
88
  - Never hardcode API keys
88
89
  - Always validate key availability before use
@@ -107,4 +108,4 @@ This command ensures transparency about AI usage while maintaining that the user
107
108
  - Code examples
108
109
  - Testing notes
109
110
  - Document expected behavior and edge cases
110
- - Include real-world output examples
111
+ - Include real-world output examples
@@ -12,8 +12,10 @@ allowed-tools: WebSearch WebFetch mcp__context7 mcp__github AskUserQuestion Read
12
12
  ---
13
13
 
14
14
  ---
15
+
15
16
  description: Create multiple atomic git commits, one logical change at a time
16
17
  argument-hint: [optional-commit-description]
18
+
17
19
  ---
18
20
 
19
21
  ## General Guidelines
@@ -72,7 +74,6 @@ git add src/user-service.ts
72
74
  git commit -m "refactor: extract user lookup to helper"
73
75
  ```
74
76
 
75
-
76
77
  ## 🛡 Project Rules (Injected into every command)
77
78
 
78
79
  1. **NO BROKEN BUILDS:**
@@ -97,7 +98,7 @@ git commit -m "refactor: extract user lookup to helper"
97
98
  4. **API KEY MANAGEMENT:**
98
99
  - Support three loading methods:
99
100
  - Server environment variables
100
- - NEXT_PUBLIC_ variables (client-side)
101
+ - NEXT*PUBLIC* variables (client-side)
101
102
  - Custom headers (X-OpenAI-Key, X-Anthropic-Key, etc.)
102
103
  - Never hardcode API keys
103
104
  - Always validate key availability before use
@@ -122,4 +123,4 @@ git commit -m "refactor: extract user lookup to helper"
122
123
  - Code examples
123
124
  - Testing notes
124
125
  - Document expected behavior and edge cases
125
- - Include real-world output examples
126
+ - Include real-world output examples
@@ -12,8 +12,10 @@ allowed-tools: WebSearch WebFetch mcp__context7 mcp__github AskUserQuestion Read
12
12
  ---
13
13
 
14
14
  ---
15
+
15
16
  description: Create a git commit following project standards
16
17
  argument-hint: [optional-commit-description]
18
+
17
19
  ---
18
20
 
19
21
  ## General Guidelines
@@ -43,7 +45,6 @@ git add <files>
43
45
  git commit -m "feat(#123): add validation to user input form"
44
46
  ```
45
47
 
46
-
47
48
  ## 🛡 Project Rules (Injected into every command)
48
49
 
49
50
  1. **NO BROKEN BUILDS:**
@@ -68,7 +69,7 @@ git commit -m "feat(#123): add validation to user input form"
68
69
  4. **API KEY MANAGEMENT:**
69
70
  - Support three loading methods:
70
71
  - Server environment variables
71
- - NEXT_PUBLIC_ variables (client-side)
72
+ - NEXT*PUBLIC* variables (client-side)
72
73
  - Custom headers (X-OpenAI-Key, X-Anthropic-Key, etc.)
73
74
  - Never hardcode API keys
74
75
  - Always validate key availability before use
@@ -93,4 +94,4 @@ git commit -m "feat(#123): add validation to user input form"
93
94
  - Code examples
94
95
  - Testing notes
95
96
  - Document expected behavior and edge cases
96
- - Include real-world output examples
97
+ - Include real-world output examples