@hustle-together/api-dev-tools 3.10.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 +331 -0
- package/.claude/commands/README.md +196 -0
- package/.claude/commands/add-command.md +212 -0
- package/.claude/commands/api-create.md +510 -0
- package/.claude/commands/api-env.md +51 -0
- package/.claude/commands/api-interview.md +344 -0
- package/.claude/commands/api-research.md +357 -0
- package/.claude/commands/api-status.md +279 -0
- package/.claude/commands/api-verify.md +232 -0
- package/.claude/commands/beepboop.md +96 -0
- package/.claude/commands/busycommit.md +111 -0
- package/.claude/commands/commit.md +82 -0
- package/.claude/commands/cycle.md +137 -0
- package/.claude/commands/gap.md +85 -0
- package/.claude/commands/green.md +137 -0
- package/.claude/commands/issue.md +187 -0
- package/.claude/commands/ntfy-setup.md +91 -0
- package/.claude/commands/ntfy-test.md +74 -0
- package/.claude/commands/plan.md +167 -0
- package/.claude/commands/pr.md +121 -0
- package/.claude/commands/publish.md +40 -0
- package/.claude/commands/red.md +137 -0
- package/.claude/commands/refactor.md +137 -0
- package/.claude/commands/spike.md +137 -0
- package/.claude/commands/summarize.md +93 -0
- package/.claude/commands/tdd.md +139 -0
- package/.claude/commands/worktree-add.md +307 -0
- package/.claude/commands/worktree-cleanup.md +275 -0
- package/.claude/hooks/api-workflow-check.py +227 -0
- package/.claude/hooks/enforce-deep-research.py +185 -0
- package/.claude/hooks/enforce-disambiguation.py +155 -0
- package/.claude/hooks/enforce-documentation.py +192 -0
- package/.claude/hooks/enforce-environment.py +253 -0
- package/.claude/hooks/enforce-external-research.py +328 -0
- package/.claude/hooks/enforce-interview.py +421 -0
- package/.claude/hooks/enforce-refactor.py +189 -0
- package/.claude/hooks/enforce-research.py +159 -0
- package/.claude/hooks/enforce-schema.py +186 -0
- package/.claude/hooks/enforce-scope.py +160 -0
- package/.claude/hooks/enforce-tdd-red.py +250 -0
- package/.claude/hooks/enforce-verify.py +186 -0
- package/.claude/hooks/periodic-reground.py +154 -0
- package/.claude/hooks/session-startup.py +151 -0
- package/.claude/hooks/track-tool-use.py +626 -0
- package/.claude/hooks/verify-after-green.py +282 -0
- package/.claude/hooks/verify-implementation.py +225 -0
- package/.claude/research/index.json +6 -0
- package/.claude/settings.json +144 -0
- package/.claude/settings.local.json +12 -0
- package/.claude-plugin/marketplace.json +103 -0
- package/.skills/README.md +293 -0
- package/.skills/_shared/convert-commands.py +192 -0
- package/.skills/_shared/hooks/api-workflow-check.py +227 -0
- package/.skills/_shared/hooks/enforce-deep-research.py +185 -0
- package/.skills/_shared/hooks/enforce-disambiguation.py +155 -0
- package/.skills/_shared/hooks/enforce-documentation.py +192 -0
- package/.skills/_shared/hooks/enforce-environment.py +253 -0
- package/.skills/_shared/hooks/enforce-external-research.py +328 -0
- package/.skills/_shared/hooks/enforce-interview.py +421 -0
- package/.skills/_shared/hooks/enforce-refactor.py +189 -0
- package/.skills/_shared/hooks/enforce-research.py +159 -0
- package/.skills/_shared/hooks/enforce-schema.py +186 -0
- package/.skills/_shared/hooks/enforce-scope.py +160 -0
- package/.skills/_shared/hooks/enforce-tdd-red.py +250 -0
- package/.skills/_shared/hooks/enforce-verify.py +186 -0
- package/.skills/_shared/hooks/periodic-reground.py +154 -0
- package/.skills/_shared/hooks/session-startup.py +151 -0
- package/.skills/_shared/hooks/track-tool-use.py +626 -0
- package/.skills/_shared/hooks/verify-after-green.py +282 -0
- package/.skills/_shared/hooks/verify-implementation.py +225 -0
- package/.skills/_shared/install.sh +114 -0
- package/.skills/_shared/settings.json +93 -0
- package/.skills/add-command/SKILL.md +227 -0
- package/.skills/api-create/SKILL.md +623 -0
- package/.skills/api-env/SKILL.md +64 -0
- package/.skills/api-interview/SKILL.md +357 -0
- package/.skills/api-research/SKILL.md +370 -0
- package/.skills/api-status/SKILL.md +292 -0
- package/.skills/api-verify/SKILL.md +245 -0
- package/.skills/beepboop/SKILL.md +111 -0
- package/.skills/busycommit/SKILL.md +126 -0
- package/.skills/commit/SKILL.md +97 -0
- package/.skills/cycle/SKILL.md +152 -0
- package/.skills/gap/SKILL.md +100 -0
- package/.skills/green/SKILL.md +152 -0
- package/.skills/issue/SKILL.md +202 -0
- package/.skills/plan/SKILL.md +182 -0
- package/.skills/pr/SKILL.md +136 -0
- package/.skills/publish/SKILL.md +160 -0
- package/.skills/red/SKILL.md +152 -0
- package/.skills/refactor/SKILL.md +152 -0
- package/.skills/spike/SKILL.md +152 -0
- package/.skills/summarize/SKILL.md +108 -0
- package/.skills/tdd/SKILL.md +154 -0
- package/.skills/update-todos/SKILL.md +250 -0
- package/.skills/worktree-add/SKILL.md +322 -0
- package/.skills/worktree-cleanup/SKILL.md +290 -0
- package/CHANGELOG.md +115 -0
- package/README.md +161 -7101
- 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 +33 -12
- 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
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: api-verify
|
|
3
|
+
description: Manual Phase 10 verification - re-research documentation after tests pass to catch memory-based implementation errors. Compares implementation to docs, reports gaps. Use after TDD Green phase. Keywords: verification, testing, documentation, gaps, quality
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: Requires Claude Code with MCP servers (Context7, GitHub), Python 3.9+ for hooks, pnpm 10.11.0+
|
|
6
|
+
metadata:
|
|
7
|
+
version: "3.0.0"
|
|
8
|
+
category: "testing"
|
|
9
|
+
tags: ['verification', 'testing', 'documentation', 'quality']
|
|
10
|
+
author: "Hustle Together"
|
|
11
|
+
allowed-tools: WebSearch WebFetch mcp__context7 mcp__github AskUserQuestion Read Write Edit Bash TodoWrite
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# API Verify - Implementation Verification (Phase 10) v3.0
|
|
15
|
+
|
|
16
|
+
**Usage:** `/api-verify [endpoint-name]`
|
|
17
|
+
|
|
18
|
+
**Purpose:** Manually trigger Phase 10 verification - re-research documentation and compare to implementation to catch memory-based errors.
|
|
19
|
+
|
|
20
|
+
## When to Use
|
|
21
|
+
|
|
22
|
+
- After tests pass (TDD Green complete)
|
|
23
|
+
- Before proceeding to Refactor phase
|
|
24
|
+
- When unsure if implementation matches documentation
|
|
25
|
+
- After significant time has passed since initial research
|
|
26
|
+
|
|
27
|
+
## Verification Process
|
|
28
|
+
|
|
29
|
+
### Step 1: Re-Read Original Documentation
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
┌────────────────────────────────────────────────────────────┐
|
|
33
|
+
│ RE-RESEARCHING DOCUMENTATION │
|
|
34
|
+
│ │
|
|
35
|
+
│ Fetching current documentation for: [endpoint-name] │
|
|
36
|
+
│ │
|
|
37
|
+
│ Sources: │
|
|
38
|
+
│ - Context7: [library-name] │
|
|
39
|
+
│ - Official docs: [URL] │
|
|
40
|
+
│ - Cached research: .claude/research/[api]/CURRENT.md │
|
|
41
|
+
│ │
|
|
42
|
+
│ Freshness: [X days old] │
|
|
43
|
+
└────────────────────────────────────────────────────────────┘
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Step 2: Feature-by-Feature Comparison
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
┌────────────────────────────────────────────────────────────┐
|
|
50
|
+
│ IMPLEMENTATION VERIFICATION │
|
|
51
|
+
│ │
|
|
52
|
+
│ Comparing documentation to implementation: │
|
|
53
|
+
│ │
|
|
54
|
+
│ │ Feature │ In Docs │ Implemented │ Status │
|
|
55
|
+
│ ├─────────────────┼─────────┼─────────────┼───────────────│
|
|
56
|
+
│ │ domain param │ ✓ │ ✓ │ ✅ Match │
|
|
57
|
+
│ │ format param │ 4 opts │ 3 opts │ ⚠️ Missing │
|
|
58
|
+
│ │ quality range │ 1-100 │ 1-100 │ ✅ Match │
|
|
59
|
+
│ │ size param │ ✓ │ ✗ │ ⚠️ Missing │
|
|
60
|
+
│ │ webhook support │ ✓ │ ✗ │ ℹ️ Intentional │
|
|
61
|
+
│ │ batch mode │ ✓ │ ✗ │ ℹ️ Intentional │
|
|
62
|
+
│ │
|
|
63
|
+
│ MATCHES: 2 │
|
|
64
|
+
│ MISSING: 2 │
|
|
65
|
+
│ INTENTIONAL OMISSIONS: 2 │
|
|
66
|
+
└────────────────────────────────────────────────────────────┘
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Step 3: Gap Analysis
|
|
70
|
+
|
|
71
|
+
For each discrepancy:
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
┌────────────────────────────────────────────────────────────┐
|
|
75
|
+
│ GAP #1: format parameter │
|
|
76
|
+
│ │
|
|
77
|
+
│ Documentation says: ["json", "svg", "png", "raw"] │
|
|
78
|
+
│ Implementation has: ["json", "svg", "png"] │
|
|
79
|
+
│ │
|
|
80
|
+
│ Missing: "raw" format │
|
|
81
|
+
│ │
|
|
82
|
+
│ Action? │
|
|
83
|
+
│ [x] Fix - Add "raw" format support │
|
|
84
|
+
│ [ ] Skip - Mark as intentional omission │
|
|
85
|
+
│ [ ] Defer - Add to backlog for later │
|
|
86
|
+
└────────────────────────────────────────────────────────────┘
|
|
87
|
+
|
|
88
|
+
┌────────────────────────────────────────────────────────────┐
|
|
89
|
+
│ GAP #2: size parameter │
|
|
90
|
+
│ │
|
|
91
|
+
│ Documentation says: size parameter exists (16-4096) │
|
|
92
|
+
│ Implementation has: not implemented │
|
|
93
|
+
│ │
|
|
94
|
+
│ Action? │
|
|
95
|
+
│ [x] Fix - Add size parameter │
|
|
96
|
+
│ [ ] Skip - Mark as intentional omission │
|
|
97
|
+
│ [ ] Defer - Add to backlog for later │
|
|
98
|
+
└────────────────────────────────────────────────────────────┘
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Step 4: Loop Back or Proceed
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
┌────────────────────────────────────────────────────────────┐
|
|
105
|
+
│ VERIFICATION SUMMARY │
|
|
106
|
+
│ │
|
|
107
|
+
│ Gaps to fix: 2 │
|
|
108
|
+
│ Intentional omissions: 2 │
|
|
109
|
+
│ │
|
|
110
|
+
│ DECISION: │
|
|
111
|
+
│ │
|
|
112
|
+
│ [x] Fix gaps → Return to TDD Red (write tests for gaps) │
|
|
113
|
+
│ [ ] Skip all → Document as omissions, proceed to Refactor │
|
|
114
|
+
└────────────────────────────────────────────────────────────┘
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## State File Updates
|
|
118
|
+
|
|
119
|
+
```json
|
|
120
|
+
{
|
|
121
|
+
"phases": {
|
|
122
|
+
"verify": {
|
|
123
|
+
"status": "complete",
|
|
124
|
+
"gaps_found": 2,
|
|
125
|
+
"gaps_fixed": 2,
|
|
126
|
+
"intentional_omissions": [
|
|
127
|
+
{
|
|
128
|
+
"feature": "webhook support",
|
|
129
|
+
"reason": "User declined in interview",
|
|
130
|
+
"documented_at": "..."
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"feature": "batch mode",
|
|
134
|
+
"reason": "Out of scope for v1",
|
|
135
|
+
"documented_at": "..."
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
"re_research_done": true,
|
|
139
|
+
"completed_at": "..."
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Verification Report
|
|
146
|
+
|
|
147
|
+
Creates: `.claude/research/[api-name]/verification.md`
|
|
148
|
+
|
|
149
|
+
```markdown
|
|
150
|
+
# Verification Report: [API Name]
|
|
151
|
+
|
|
152
|
+
**Date:** [current-date]
|
|
153
|
+
**Implementation File:** src/app/api/v2/[endpoint]/route.ts
|
|
154
|
+
**Test File:** src/app/api/v2/[endpoint]/**tests**/[endpoint].api.test.ts
|
|
155
|
+
|
|
156
|
+
## Documentation Sources Re-Checked
|
|
157
|
+
|
|
158
|
+
| Source | URL | Checked |
|
|
159
|
+
| --------------- | --------------------------------- | ------- |
|
|
160
|
+
| Official docs | [URL] | ✓ |
|
|
161
|
+
| Context7 | [library] | ✓ |
|
|
162
|
+
| Cached research | .claude/research/[api]/CURRENT.md | ✓ |
|
|
163
|
+
|
|
164
|
+
## Feature Comparison
|
|
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 |
|
|
172
|
+
|
|
173
|
+
## Gaps Fixed
|
|
174
|
+
|
|
175
|
+
1. **format parameter** - Added "raw" format support
|
|
176
|
+
- Test added: test/format-raw.test.ts:15
|
|
177
|
+
- Implementation: route.ts:45
|
|
178
|
+
|
|
179
|
+
2. **size parameter** - Added size validation
|
|
180
|
+
- Test added: test/size-param.test.ts:10
|
|
181
|
+
- Implementation: route.ts:52
|
|
182
|
+
|
|
183
|
+
## Intentional Omissions
|
|
184
|
+
|
|
185
|
+
1. **webhook support**
|
|
186
|
+
- Reason: User declined in interview (Phase 4)
|
|
187
|
+
- Decision recorded: api-dev-state.json
|
|
188
|
+
- May add in v2
|
|
189
|
+
|
|
190
|
+
2. **batch mode**
|
|
191
|
+
- Reason: Out of scope for initial release
|
|
192
|
+
- Documented for future consideration
|
|
193
|
+
|
|
194
|
+
## Verification Result
|
|
195
|
+
|
|
196
|
+
- **Status:** PASSED
|
|
197
|
+
- **All documented features accounted for**
|
|
198
|
+
- **Ready for Refactor phase**
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## Hook Integration
|
|
202
|
+
|
|
203
|
+
This command is normally triggered automatically by `verify-after-green.py` hook after tests pass.
|
|
204
|
+
|
|
205
|
+
Manual invocation is useful when:
|
|
206
|
+
|
|
207
|
+
- Hook was skipped or didn't trigger
|
|
208
|
+
- Want to re-verify after changes
|
|
209
|
+
- Research is stale and needs refresh
|
|
210
|
+
|
|
211
|
+
## Workflow Position
|
|
212
|
+
|
|
213
|
+
```
|
|
214
|
+
Phase 8: TDD Red (write tests)
|
|
215
|
+
│
|
|
216
|
+
▼
|
|
217
|
+
Phase 9: TDD Green (implementation)
|
|
218
|
+
│
|
|
219
|
+
▼
|
|
220
|
+
Phase 10: VERIFY ← /api-verify triggers this
|
|
221
|
+
│
|
|
222
|
+
├─► Gaps found? → Loop back to Phase 8
|
|
223
|
+
│
|
|
224
|
+
└─► All verified → Proceed to Phase 11 (Refactor)
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
<claude-commands-template>
|
|
228
|
+
## Verification Guidelines
|
|
229
|
+
|
|
230
|
+
1. **Re-read, don't remember** - Fresh fetch of docs every time
|
|
231
|
+
2. **Feature-by-feature** - Systematic comparison
|
|
232
|
+
3. **Document omissions** - Intentional != forgotten
|
|
233
|
+
4. **Loop back for gaps** - Return to TDD Red if fixes needed
|
|
234
|
+
5. **Update state file** - Track everything
|
|
235
|
+
6. **Create verification report** - Audit trail
|
|
236
|
+
|
|
237
|
+
## Common Gaps to Check
|
|
238
|
+
|
|
239
|
+
- Parameter counts match?
|
|
240
|
+
- Enum options complete?
|
|
241
|
+
- Range boundaries correct?
|
|
242
|
+
- Error codes handled?
|
|
243
|
+
- Optional features accounted for?
|
|
244
|
+
- Default values match docs?
|
|
245
|
+
</claude-commands-template>
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: beepboop
|
|
3
|
+
description: Communicate AI-generated content with transparent attribution. Adds markers indicating AI authorship. Use when sharing AI-generated code or content. Keywords: attribution, transparency, ai-generated, ethics, communication
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: Requires Claude Code with MCP servers (Context7, GitHub), Python 3.9+ for hooks, pnpm 10.11.0+
|
|
6
|
+
metadata:
|
|
7
|
+
version: "3.0.0"
|
|
8
|
+
category: "workflow"
|
|
9
|
+
tags: ['attribution', 'transparency', 'ai-generated', 'ethics']
|
|
10
|
+
author: "Hustle Together"
|
|
11
|
+
allowed-tools: WebSearch WebFetch mcp__context7 mcp__github AskUserQuestion Read Write Edit Bash TodoWrite
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
description: Communicate AI-generated content with transparent attribution
|
|
17
|
+
argument-hint: <task-description>
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# AI-Attributed Communication Command
|
|
22
|
+
|
|
23
|
+
Execute the user's requested task (e.g., posting PR comments, GitHub issue comments, or other communications through various MCPs), but frame the output with clear AI attribution.
|
|
24
|
+
|
|
25
|
+
## General Guidelines
|
|
26
|
+
|
|
27
|
+
### Output Style
|
|
28
|
+
|
|
29
|
+
- **Never explicitly mention TDD** in code, comments, commits, PRs, or issues
|
|
30
|
+
- Write natural, descriptive code without meta-commentary about the development process
|
|
31
|
+
- The code should speak for itself - TDD is the process, not the product
|
|
32
|
+
|
|
33
|
+
## Instructions
|
|
34
|
+
|
|
35
|
+
Arguments: $ARGUMENTS
|
|
36
|
+
|
|
37
|
+
**IMPORTANT Communication Format:**
|
|
38
|
+
|
|
39
|
+
1. **Opening**: Begin with "_Beep boop, I am Claude Code 🤖, my user has reviewed and approved the following written by me:_"
|
|
40
|
+
- Use italics for this line
|
|
41
|
+
- Clearly establishes AI authorship
|
|
42
|
+
|
|
43
|
+
2. **Middle**: Perform the requested task (post comment, create review, etc.)
|
|
44
|
+
- Execute whatever communication task the user requested
|
|
45
|
+
- Write the actual content that accomplishes the user's goal
|
|
46
|
+
|
|
47
|
+
3. **Closing**: End with "_Beep boop, Claude Code 🤖 out!_"
|
|
48
|
+
- Use italics for this line
|
|
49
|
+
- Provides clear closure
|
|
50
|
+
|
|
51
|
+
## Purpose
|
|
52
|
+
|
|
53
|
+
This command ensures transparency about AI usage while maintaining that the user has reviewed and approved the content. It prevents offloading review responsibility to other users while being open about AI assistance.
|
|
54
|
+
|
|
55
|
+
## Examples
|
|
56
|
+
|
|
57
|
+
- Posting a GitHub PR review comment
|
|
58
|
+
- Adding a comment to a GitHub issue
|
|
59
|
+
- Responding to feedback with AI-generated explanations
|
|
60
|
+
- Any communication where AI attribution is valuable
|
|
61
|
+
|
|
62
|
+
## 🛡 Project Rules (Injected into every command)
|
|
63
|
+
|
|
64
|
+
1. **NO BROKEN BUILDS:**
|
|
65
|
+
- Run `pnpm test` before every `/commit`
|
|
66
|
+
- Ensure all tests pass
|
|
67
|
+
- Fix any type errors immediately
|
|
68
|
+
|
|
69
|
+
2. **API DEVELOPMENT:**
|
|
70
|
+
- All new APIs MUST have Zod request/response schemas
|
|
71
|
+
- All APIs MUST be documented in both:
|
|
72
|
+
- OpenAPI spec ([src/lib/openapi/](src/lib/openapi/))
|
|
73
|
+
- API test manifest ([src/app/api-test/api-tests-manifest.json](src/app/api-test/api-tests-manifest.json))
|
|
74
|
+
- Test ALL parameters and edge cases
|
|
75
|
+
- Include code examples and real-world outputs
|
|
76
|
+
|
|
77
|
+
3. **TDD WORKFLOW:**
|
|
78
|
+
- ALWAYS use /red → /green → /refactor cycle
|
|
79
|
+
- NEVER write implementation without failing test first
|
|
80
|
+
- Use /cycle for feature development
|
|
81
|
+
- Use characterization tests for refactoring
|
|
82
|
+
|
|
83
|
+
4. **API KEY MANAGEMENT:**
|
|
84
|
+
- Support three loading methods:
|
|
85
|
+
- Server environment variables
|
|
86
|
+
- NEXT*PUBLIC* variables (client-side)
|
|
87
|
+
- Custom headers (X-OpenAI-Key, X-Anthropic-Key, etc.)
|
|
88
|
+
- Never hardcode API keys
|
|
89
|
+
- Always validate key availability before use
|
|
90
|
+
|
|
91
|
+
5. **COMPREHENSIVE TESTING:**
|
|
92
|
+
- When researching APIs, read actual implementation code
|
|
93
|
+
- Discover ALL possible parameters (not just documented ones)
|
|
94
|
+
- Test with various parameter combinations
|
|
95
|
+
- Document custom headers, query params, request/response schemas
|
|
96
|
+
- Include validation rules and testing notes
|
|
97
|
+
|
|
98
|
+
6. **NO UI BLOAT:**
|
|
99
|
+
- This is an API project with minimal frontend
|
|
100
|
+
- Only keep necessary test/documentation interfaces
|
|
101
|
+
- Delete unused components immediately
|
|
102
|
+
- No unnecessary UI libraries or features
|
|
103
|
+
|
|
104
|
+
7. **DOCUMENTATION:**
|
|
105
|
+
- If you change an API, you MUST update:
|
|
106
|
+
- OpenAPI spec
|
|
107
|
+
- api-tests-manifest.json
|
|
108
|
+
- Code examples
|
|
109
|
+
- Testing notes
|
|
110
|
+
- Document expected behavior and edge cases
|
|
111
|
+
- Include real-world output examples
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: busycommit
|
|
3
|
+
description: Create multiple atomic git commits, one logical change at a time. Analyzes changes and separates into meaningful commits. Use for complex changesets. Keywords: git, commit, atomic, granular, organization
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: Requires Claude Code with MCP servers (Context7, GitHub), Python 3.9+ for hooks, pnpm 10.11.0+
|
|
6
|
+
metadata:
|
|
7
|
+
version: "3.0.0"
|
|
8
|
+
category: "git"
|
|
9
|
+
tags: ['git', 'commit', 'atomic', 'granular']
|
|
10
|
+
author: "Hustle Together"
|
|
11
|
+
allowed-tools: WebSearch WebFetch mcp__context7 mcp__github AskUserQuestion Read Write Edit Bash TodoWrite
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
description: Create multiple atomic git commits, one logical change at a time
|
|
17
|
+
argument-hint: [optional-commit-description]
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## General Guidelines
|
|
22
|
+
|
|
23
|
+
### Output Style
|
|
24
|
+
|
|
25
|
+
- **Never explicitly mention TDD** in code, comments, commits, PRs, or issues
|
|
26
|
+
- Write natural, descriptive code without meta-commentary about the development process
|
|
27
|
+
- The code should speak for itself - TDD is the process, not the product
|
|
28
|
+
|
|
29
|
+
Create multiple atomic git commits, committing the smallest possible logical unit at a time
|
|
30
|
+
|
|
31
|
+
Include any of the following info if specified: $ARGUMENTS
|
|
32
|
+
|
|
33
|
+
## Process
|
|
34
|
+
|
|
35
|
+
1. Run `git status` and `git diff` to review changes
|
|
36
|
+
2. Run `git log --oneline -5` to see recent commit style
|
|
37
|
+
3. Stage relevant files with `git add`
|
|
38
|
+
4. Create commit with descriptive message
|
|
39
|
+
5. Verify with `git status`
|
|
40
|
+
|
|
41
|
+
## Example
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
git add <files>
|
|
45
|
+
git commit -m "feat(#123): add validation to user input form"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Atomic Commit Approach
|
|
49
|
+
|
|
50
|
+
Each commit should represent ONE logical change. Do NOT bundle multiple unrelated changes into one commit.
|
|
51
|
+
|
|
52
|
+
- Identify the smallest atomic units of change
|
|
53
|
+
- For EACH atomic unit: stage only those files/hunks, commit, verify
|
|
54
|
+
- Use `git add -p` to stage partial file changes when a file contains multiple logical changes
|
|
55
|
+
- Repeat until all changes are committed
|
|
56
|
+
- It is OK to create multiple commits without stopping - keep going until `git status` shows clean
|
|
57
|
+
|
|
58
|
+
## Multi-Commit Example
|
|
59
|
+
|
|
60
|
+
If a single file contains multiple unrelated changes, use `git add -p` to stage hunks interactively:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Stage only the validation-related hunks from the file
|
|
64
|
+
git add -p src/user-service.ts
|
|
65
|
+
# Select 'y' for validation hunks, 'n' for others
|
|
66
|
+
git commit -m "feat(#123): add email format validation"
|
|
67
|
+
|
|
68
|
+
# Stage the error handling hunks
|
|
69
|
+
git add -p src/user-service.ts
|
|
70
|
+
git commit -m "fix(#124): handle null user gracefully"
|
|
71
|
+
|
|
72
|
+
# Stage remaining changes
|
|
73
|
+
git add src/user-service.ts
|
|
74
|
+
git commit -m "refactor: extract user lookup to helper"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## 🛡 Project Rules (Injected into every command)
|
|
78
|
+
|
|
79
|
+
1. **NO BROKEN BUILDS:**
|
|
80
|
+
- Run `pnpm test` before every `/commit`
|
|
81
|
+
- Ensure all tests pass
|
|
82
|
+
- Fix any type errors immediately
|
|
83
|
+
|
|
84
|
+
2. **API DEVELOPMENT:**
|
|
85
|
+
- All new APIs MUST have Zod request/response schemas
|
|
86
|
+
- All APIs MUST be documented in both:
|
|
87
|
+
- OpenAPI spec ([src/lib/openapi/](src/lib/openapi/))
|
|
88
|
+
- API test manifest ([src/app/api-test/api-tests-manifest.json](src/app/api-test/api-tests-manifest.json))
|
|
89
|
+
- Test ALL parameters and edge cases
|
|
90
|
+
- Include code examples and real-world outputs
|
|
91
|
+
|
|
92
|
+
3. **TDD WORKFLOW:**
|
|
93
|
+
- ALWAYS use /red → /green → /refactor cycle
|
|
94
|
+
- NEVER write implementation without failing test first
|
|
95
|
+
- Use /cycle for feature development
|
|
96
|
+
- Use characterization tests for refactoring
|
|
97
|
+
|
|
98
|
+
4. **API KEY MANAGEMENT:**
|
|
99
|
+
- Support three loading methods:
|
|
100
|
+
- Server environment variables
|
|
101
|
+
- NEXT*PUBLIC* variables (client-side)
|
|
102
|
+
- Custom headers (X-OpenAI-Key, X-Anthropic-Key, etc.)
|
|
103
|
+
- Never hardcode API keys
|
|
104
|
+
- Always validate key availability before use
|
|
105
|
+
|
|
106
|
+
5. **COMPREHENSIVE TESTING:**
|
|
107
|
+
- When researching APIs, read actual implementation code
|
|
108
|
+
- Discover ALL possible parameters (not just documented ones)
|
|
109
|
+
- Test with various parameter combinations
|
|
110
|
+
- Document custom headers, query params, request/response schemas
|
|
111
|
+
- Include validation rules and testing notes
|
|
112
|
+
|
|
113
|
+
6. **NO UI BLOAT:**
|
|
114
|
+
- This is an API project with minimal frontend
|
|
115
|
+
- Only keep necessary test/documentation interfaces
|
|
116
|
+
- Delete unused components immediately
|
|
117
|
+
- No unnecessary UI libraries or features
|
|
118
|
+
|
|
119
|
+
7. **DOCUMENTATION:**
|
|
120
|
+
- If you change an API, you MUST update:
|
|
121
|
+
- OpenAPI spec
|
|
122
|
+
- api-tests-manifest.json
|
|
123
|
+
- Code examples
|
|
124
|
+
- Testing notes
|
|
125
|
+
- Document expected behavior and edge cases
|
|
126
|
+
- Include real-world output examples
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: commit
|
|
3
|
+
description: Create semantic git commit following project standards with co-author attribution. Analyzes staged changes, suggests commit message. Use after completing features. Keywords: git, commit, semantic, versioning, attribution
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: Requires Claude Code with MCP servers (Context7, GitHub), Python 3.9+ for hooks, pnpm 10.11.0+
|
|
6
|
+
metadata:
|
|
7
|
+
version: "3.0.0"
|
|
8
|
+
category: "git"
|
|
9
|
+
tags: ['git', 'commit', 'semantic', 'versioning']
|
|
10
|
+
author: "Hustle Together"
|
|
11
|
+
allowed-tools: WebSearch WebFetch mcp__context7 mcp__github AskUserQuestion Read Write Edit Bash TodoWrite
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
description: Create a git commit following project standards
|
|
17
|
+
argument-hint: [optional-commit-description]
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## General Guidelines
|
|
22
|
+
|
|
23
|
+
### Output Style
|
|
24
|
+
|
|
25
|
+
- **Never explicitly mention TDD** in code, comments, commits, PRs, or issues
|
|
26
|
+
- Write natural, descriptive code without meta-commentary about the development process
|
|
27
|
+
- The code should speak for itself - TDD is the process, not the product
|
|
28
|
+
|
|
29
|
+
Create a git commit following project standards
|
|
30
|
+
|
|
31
|
+
Include any of the following info if specified: $ARGUMENTS
|
|
32
|
+
|
|
33
|
+
## Process
|
|
34
|
+
|
|
35
|
+
1. Run `git status` and `git diff` to review changes
|
|
36
|
+
2. Run `git log --oneline -5` to see recent commit style
|
|
37
|
+
3. Stage relevant files with `git add`
|
|
38
|
+
4. Create commit with descriptive message
|
|
39
|
+
5. Verify with `git status`
|
|
40
|
+
|
|
41
|
+
## Example
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
git add <files>
|
|
45
|
+
git commit -m "feat(#123): add validation to user input form"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## 🛡 Project Rules (Injected into every command)
|
|
49
|
+
|
|
50
|
+
1. **NO BROKEN BUILDS:**
|
|
51
|
+
- Run `pnpm test` before every `/commit`
|
|
52
|
+
- Ensure all tests pass
|
|
53
|
+
- Fix any type errors immediately
|
|
54
|
+
|
|
55
|
+
2. **API DEVELOPMENT:**
|
|
56
|
+
- All new APIs MUST have Zod request/response schemas
|
|
57
|
+
- All APIs MUST be documented in both:
|
|
58
|
+
- OpenAPI spec ([src/lib/openapi/](src/lib/openapi/))
|
|
59
|
+
- API test manifest ([src/app/api-test/api-tests-manifest.json](src/app/api-test/api-tests-manifest.json))
|
|
60
|
+
- Test ALL parameters and edge cases
|
|
61
|
+
- Include code examples and real-world outputs
|
|
62
|
+
|
|
63
|
+
3. **TDD WORKFLOW:**
|
|
64
|
+
- ALWAYS use /red → /green → /refactor cycle
|
|
65
|
+
- NEVER write implementation without failing test first
|
|
66
|
+
- Use /cycle for feature development
|
|
67
|
+
- Use characterization tests for refactoring
|
|
68
|
+
|
|
69
|
+
4. **API KEY MANAGEMENT:**
|
|
70
|
+
- Support three loading methods:
|
|
71
|
+
- Server environment variables
|
|
72
|
+
- NEXT*PUBLIC* variables (client-side)
|
|
73
|
+
- Custom headers (X-OpenAI-Key, X-Anthropic-Key, etc.)
|
|
74
|
+
- Never hardcode API keys
|
|
75
|
+
- Always validate key availability before use
|
|
76
|
+
|
|
77
|
+
5. **COMPREHENSIVE TESTING:**
|
|
78
|
+
- When researching APIs, read actual implementation code
|
|
79
|
+
- Discover ALL possible parameters (not just documented ones)
|
|
80
|
+
- Test with various parameter combinations
|
|
81
|
+
- Document custom headers, query params, request/response schemas
|
|
82
|
+
- Include validation rules and testing notes
|
|
83
|
+
|
|
84
|
+
6. **NO UI BLOAT:**
|
|
85
|
+
- This is an API project with minimal frontend
|
|
86
|
+
- Only keep necessary test/documentation interfaces
|
|
87
|
+
- Delete unused components immediately
|
|
88
|
+
- No unnecessary UI libraries or features
|
|
89
|
+
|
|
90
|
+
7. **DOCUMENTATION:**
|
|
91
|
+
- If you change an API, you MUST update:
|
|
92
|
+
- OpenAPI spec
|
|
93
|
+
- api-tests-manifest.json
|
|
94
|
+
- Code examples
|
|
95
|
+
- Testing notes
|
|
96
|
+
- Document expected behavior and edge cases
|
|
97
|
+
- Include real-world output examples
|