@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.
- package/.claude/agents/code-reviewer.md +170 -0
- package/.claude/agents/docs-generator.md +80 -0
- package/.claude/agents/implementation-reviewer.md +119 -0
- package/.claude/agents/parallel-researcher.md +52 -0
- package/.claude/agents/research-validator.md +116 -0
- package/.claude/agents/schema-generator.md +70 -0
- package/.claude/agents/test-writer.md +104 -0
- package/.claude/api-dev-state.json +228 -56
- package/.claude/commands/README.md +21 -10
- package/.claude/commands/add-command.md +8 -5
- package/.claude/commands/api-create.md +36 -25
- package/.claude/commands/api-env.md +1 -0
- package/.claude/commands/api-interview.md +32 -19
- package/.claude/commands/api-research.md +47 -21
- package/.claude/commands/api-status.md +21 -1
- package/.claude/commands/api-verify.md +14 -13
- package/.claude/commands/beepboop.md +4 -5
- package/.claude/commands/busycommit.md +2 -3
- package/.claude/commands/commit.md +2 -3
- package/.claude/commands/cycle.md +2 -7
- package/.claude/commands/gap.md +2 -3
- package/.claude/commands/green.md +2 -7
- package/.claude/commands/issue.md +3 -8
- package/.claude/commands/ntfy-setup.md +91 -0
- package/.claude/commands/ntfy-test.md +74 -0
- package/.claude/commands/plan.md +2 -3
- package/.claude/commands/pr.md +2 -3
- package/.claude/commands/publish.md +40 -0
- package/.claude/commands/red.md +2 -7
- package/.claude/commands/refactor.md +2 -7
- package/.claude/commands/spike.md +2 -7
- package/.claude/commands/summarize.md +2 -3
- package/.claude/commands/tdd.md +2 -7
- package/.claude/commands/worktree-add.md +208 -216
- package/.claude/commands/worktree-cleanup.md +172 -178
- package/.claude/settings.json +63 -12
- package/.claude/settings.local.json +2 -1
- package/.claude-plugin/marketplace.json +2 -11
- package/.skills/README.md +55 -53
- package/.skills/_shared/settings.json +1 -1
- package/.skills/add-command/SKILL.md +10 -5
- package/.skills/api-create/SKILL.md +146 -35
- package/.skills/api-env/SKILL.md +1 -0
- package/.skills/api-interview/SKILL.md +32 -19
- package/.skills/api-research/SKILL.md +47 -21
- package/.skills/api-status/SKILL.md +21 -1
- package/.skills/api-verify/SKILL.md +14 -13
- package/.skills/beepboop/SKILL.md +6 -5
- package/.skills/busycommit/SKILL.md +4 -3
- package/.skills/commit/SKILL.md +4 -3
- package/.skills/cycle/SKILL.md +4 -7
- package/.skills/gap/SKILL.md +4 -3
- package/.skills/green/SKILL.md +4 -7
- package/.skills/issue/SKILL.md +5 -8
- package/.skills/plan/SKILL.md +4 -3
- package/.skills/pr/SKILL.md +4 -3
- package/.skills/publish/SKILL.md +160 -0
- package/.skills/red/SKILL.md +4 -7
- package/.skills/refactor/SKILL.md +4 -7
- package/.skills/spike/SKILL.md +4 -7
- package/.skills/summarize/SKILL.md +4 -3
- package/.skills/tdd/SKILL.md +4 -7
- package/.skills/update-todos/SKILL.md +22 -0
- package/.skills/worktree-add/SKILL.md +210 -216
- package/.skills/worktree-cleanup/SKILL.md +183 -187
- package/CHANGELOG.md +97 -79
- package/README.md +161 -7142
- package/bin/cli.js +448 -805
- package/commands/README.md +66 -31
- package/commands/add-command.md +8 -5
- package/commands/beepboop.md +4 -5
- package/commands/busycommit.md +2 -3
- package/commands/commit.md +2 -3
- package/commands/cycle.md +2 -7
- package/commands/gap.md +2 -3
- package/commands/green.md +2 -7
- package/commands/hustle-api-continue.md +8 -5
- package/commands/hustle-api-create.md +70 -29
- package/commands/hustle-api-env.md +1 -0
- package/commands/hustle-api-interview.md +32 -19
- package/commands/hustle-api-research.md +47 -21
- package/commands/hustle-api-sessions.md +8 -7
- package/commands/hustle-api-status.md +21 -1
- package/commands/hustle-api-verify.md +14 -13
- package/commands/hustle-combine.md +488 -241
- package/commands/hustle-ui-create-page.md +113 -50
- package/commands/hustle-ui-create.md +179 -26
- package/commands/issue.md +3 -8
- package/commands/plan.md +2 -3
- package/commands/pr.md +2 -3
- package/commands/red.md +2 -7
- package/commands/refactor.md +2 -7
- package/commands/spike.md +2 -7
- package/commands/summarize.md +2 -3
- package/commands/tdd.md +2 -7
- package/commands/worktree-add.md +208 -216
- package/commands/worktree-cleanup.md +172 -178
- package/hooks/api-workflow-check.py +5 -3
- package/hooks/enforce-component-type-confirm.py +97 -0
- package/hooks/lib/__init__.py +1 -0
- package/hooks/lib/greptile.py +355 -0
- package/hooks/lib/ntfy.py +209 -0
- package/hooks/notify-input-needed.py +73 -0
- package/hooks/notify-phase-complete.py +90 -0
- package/hooks/run-code-review.py +246 -0
- package/hooks/track-token-usage.py +121 -0
- package/package.json +13 -3
- package/scripts/collect-test-results.ts +102 -77
- package/scripts/extract-parameters.ts +112 -70
- package/scripts/generate-test-manifest.ts +118 -77
- package/templates/.env.example +57 -0
- package/templates/BRAND_GUIDE.md +92 -52
- package/templates/CLAUDE-SECTION.md +40 -37
- package/templates/SPEC.json +186 -38
- package/templates/api-dev-state.json +33 -4
- package/templates/api-showcase/_components/APICard.tsx +22 -18
- package/templates/api-showcase/_components/APIModal.tsx +110 -64
- package/templates/api-showcase/_components/APIShowcase.tsx +53 -35
- package/templates/api-showcase/_components/APITester.tsx +128 -67
- package/templates/api-showcase/page.tsx +4 -4
- package/templates/api-test/page.tsx +51 -30
- package/templates/api-test/test-structure/route.ts +43 -34
- package/templates/component/Component.stories.tsx +41 -39
- package/templates/component/Component.test.tsx +96 -78
- package/templates/component/Component.tsx +63 -52
- package/templates/component/Component.types.ts +10 -6
- package/templates/component/Component.visual.spec.ts +170 -0
- package/templates/component/index.ts +2 -2
- package/templates/dev-tools/_components/DevToolsLanding.tsx +8 -8
- package/templates/dev-tools/page.tsx +4 -3
- package/templates/mcp-servers.json +30 -2
- package/templates/page/page.e2e.test.ts +56 -48
- package/templates/page/page.tsx +3 -3
- package/templates/shared/HeroHeader.tsx +16 -15
- package/templates/shared/index.ts +1 -1
- package/templates/ui-showcase/_components/PreviewCard.tsx +20 -20
- package/templates/ui-showcase/_components/PreviewModal.tsx +149 -108
- package/templates/ui-showcase/_components/UIShowcase.tsx +43 -35
- 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
|
|
206
|
-
|
|
207
|
-
| Required param
|
|
208
|
-
| Enum param
|
|
209
|
-
| Continuous range | Test strategy
|
|
210
|
-
| Boolean param
|
|
211
|
-
| Optional feature | Priority
|
|
212
|
-
| Error case
|
|
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
|
-
|
|
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
|
|
265
|
-
|
|
266
|
-
| domain
|
|
267
|
-
| format
|
|
268
|
-
| quality
|
|
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
|
|
273
|
-
|
|
274
|
-
| Basic fetch
|
|
275
|
-
| Multiple formats | Yes
|
|
276
|
-
| Webhooks
|
|
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
|
-
|
|
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
|
-
|
|
198
|
-
|
|
199
|
-
|
|
|
207
|
+
|
|
208
|
+
| Parameter | Type | Description | Validation |
|
|
209
|
+
| --------- | ------ | ----------- | ---------- |
|
|
210
|
+
| [name] | [type] | [desc] | [rules] |
|
|
200
211
|
|
|
201
212
|
### Optional Parameters
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
|
213
|
+
|
|
214
|
+
| Parameter | Type | Default | Description | Notes |
|
|
215
|
+
| --------- | ------ | --------- | ----------- | ------- |
|
|
216
|
+
| [name] | [type] | [default] | [desc] | [notes] |
|
|
205
217
|
|
|
206
218
|
### Continuous Parameters (for test strategy)
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
|
210
|
-
|
|
|
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
|
-
|
|
241
|
-
|
|
242
|
-
|
|
|
243
|
-
| "[name]" |
|
|
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]
|
|
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
|
|
159
|
-
|
|
160
|
-
| Official docs
|
|
161
|
-
| Context7
|
|
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
|
|
167
|
-
|
|
168
|
-
| domain param | ✓
|
|
169
|
-
| format param | 4 options | 3 options
|
|
170
|
-
| size param
|
|
171
|
-
| webhook
|
|
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 "
|
|
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 "
|
|
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
|
-
-
|
|
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
|
-
-
|
|
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
|
package/.skills/commit/SKILL.md
CHANGED
|
@@ -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
|
-
-
|
|
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
|