@hustle-together/api-dev-tools 3.12.3 → 4.5.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 (159) hide show
  1. package/.claude/adr-requests/.gitkeep +10 -0
  2. package/.claude/agents/adr-researcher.md +109 -0
  3. package/.claude/agents/visual-analyzer.md +183 -0
  4. package/.claude/api-dev-state.json +7 -463
  5. package/.claude/documentation-audit.json +114 -0
  6. package/.claude/registry.json +289 -0
  7. package/.claude/settings.json +45 -1
  8. package/.claude/workflow-logs/None.json +49 -0
  9. package/.claude/workflow-logs/session-20251230-143727.json +106 -0
  10. package/.skills/adr-deep-research/SKILL.md +351 -0
  11. package/.skills/api-create/SKILL.md +116 -17
  12. package/.skills/api-research/SKILL.md +130 -0
  13. package/.skills/docs-sync/SKILL.md +260 -0
  14. package/.skills/docs-update/SKILL.md +205 -0
  15. package/.skills/hustle-brand/SKILL.md +368 -0
  16. package/.skills/hustle-build/SKILL.md +786 -0
  17. package/.skills/hustle-build-review/SKILL.md +518 -0
  18. package/.skills/parallel-spawn/SKILL.md +212 -0
  19. package/.skills/ralph-continue/SKILL.md +151 -0
  20. package/.skills/ralph-loop/SKILL.md +341 -0
  21. package/.skills/ralph-status/SKILL.md +87 -0
  22. package/.skills/refactor/SKILL.md +59 -0
  23. package/.skills/shadcn/SKILL.md +522 -0
  24. package/.skills/test-all/SKILL.md +210 -0
  25. package/.skills/test-builds/SKILL.md +208 -0
  26. package/.skills/test-debug/SKILL.md +212 -0
  27. package/.skills/test-e2e/SKILL.md +168 -0
  28. package/.skills/test-review/SKILL.md +707 -0
  29. package/.skills/test-unit/SKILL.md +143 -0
  30. package/.skills/test-visual/SKILL.md +301 -0
  31. package/.skills/token-report/SKILL.md +132 -0
  32. package/CHANGELOG.md +575 -0
  33. package/README.md +426 -56
  34. package/bin/cli.js +1538 -88
  35. package/commands/hustle-api-create.md +22 -0
  36. package/commands/hustle-build.md +259 -0
  37. package/commands/hustle-combine.md +81 -2
  38. package/commands/hustle-ui-create-page.md +84 -2
  39. package/commands/hustle-ui-create.md +82 -2
  40. package/hooks/__pycache__/api-workflow-check.cpython-314.pyc +0 -0
  41. package/hooks/__pycache__/auto-answer.cpython-314.pyc +0 -0
  42. package/hooks/__pycache__/cache-research.cpython-314.pyc +0 -0
  43. package/hooks/__pycache__/check-api-routes.cpython-314.pyc +0 -0
  44. package/hooks/__pycache__/check-playwright-setup.cpython-314.pyc +0 -0
  45. package/hooks/__pycache__/check-storybook-setup.cpython-314.pyc +0 -0
  46. package/hooks/__pycache__/check-update.cpython-314.pyc +0 -0
  47. package/hooks/__pycache__/completion-promise-detector.cpython-314.pyc +0 -0
  48. package/hooks/__pycache__/context-capacity-warning.cpython-314.pyc +0 -0
  49. package/hooks/__pycache__/detect-interruption.cpython-314.pyc +0 -0
  50. package/hooks/__pycache__/docs-update-check.cpython-314.pyc +0 -0
  51. package/hooks/__pycache__/enforce-a11y-audit.cpython-314.pyc +0 -0
  52. package/hooks/__pycache__/enforce-brand-guide.cpython-314.pyc +0 -0
  53. package/hooks/__pycache__/enforce-component-type-confirm.cpython-314.pyc +0 -0
  54. package/hooks/__pycache__/enforce-deep-research.cpython-314.pyc +0 -0
  55. package/hooks/__pycache__/enforce-disambiguation.cpython-314.pyc +0 -0
  56. package/hooks/__pycache__/enforce-documentation.cpython-314.pyc +0 -0
  57. package/hooks/__pycache__/enforce-dry-run.cpython-314.pyc +0 -0
  58. package/hooks/__pycache__/enforce-environment.cpython-314.pyc +0 -0
  59. package/hooks/__pycache__/enforce-external-research.cpython-314.pyc +0 -0
  60. package/hooks/__pycache__/enforce-freshness.cpython-314.pyc +0 -0
  61. package/hooks/__pycache__/enforce-interview.cpython-314.pyc +0 -0
  62. package/hooks/__pycache__/enforce-page-components.cpython-314.pyc +0 -0
  63. package/hooks/__pycache__/enforce-page-data-schema.cpython-314.pyc +0 -0
  64. package/hooks/__pycache__/enforce-questions-sourced.cpython-314.pyc +0 -0
  65. package/hooks/__pycache__/enforce-refactor.cpython-314.pyc +0 -0
  66. package/hooks/__pycache__/enforce-research.cpython-314.pyc +0 -0
  67. package/hooks/__pycache__/enforce-schema-from-interview.cpython-314.pyc +0 -0
  68. package/hooks/__pycache__/enforce-schema.cpython-314.pyc +0 -0
  69. package/hooks/__pycache__/enforce-scope.cpython-314.pyc +0 -0
  70. package/hooks/__pycache__/enforce-tdd-red.cpython-314.pyc +0 -0
  71. package/hooks/__pycache__/enforce-ui-disambiguation.cpython-314.pyc +0 -0
  72. package/hooks/__pycache__/enforce-ui-interview.cpython-314.pyc +0 -0
  73. package/hooks/__pycache__/enforce-verify.cpython-314.pyc +0 -0
  74. package/hooks/__pycache__/generate-adr-options.cpython-314.pyc +0 -0
  75. package/hooks/__pycache__/generate-manifest-entry.cpython-314.pyc +0 -0
  76. package/hooks/__pycache__/hook_utils.cpython-314.pyc +0 -0
  77. package/hooks/__pycache__/notify-input-needed.cpython-314.pyc +0 -0
  78. package/hooks/__pycache__/notify-phase-complete.cpython-314.pyc +0 -0
  79. package/hooks/__pycache__/ntfy-on-question.cpython-314.pyc +0 -0
  80. package/hooks/__pycache__/orchestrator-completion.cpython-314.pyc +0 -0
  81. package/hooks/__pycache__/orchestrator-handoff.cpython-314.pyc +0 -0
  82. package/hooks/__pycache__/orchestrator-session-startup.cpython-314.pyc +0 -0
  83. package/hooks/__pycache__/parallel-orchestrator.cpython-314.pyc +0 -0
  84. package/hooks/__pycache__/periodic-reground.cpython-314.pyc +0 -0
  85. package/hooks/__pycache__/project-document-prompt.cpython-314.pyc +0 -0
  86. package/hooks/__pycache__/remote-question-proxy.cpython-314.pyc +0 -0
  87. package/hooks/__pycache__/remote-question-server.cpython-314.pyc +0 -0
  88. package/hooks/__pycache__/run-code-review.cpython-314.pyc +0 -0
  89. package/hooks/__pycache__/run-visual-qa.cpython-314.pyc +0 -0
  90. package/hooks/__pycache__/session-logger.cpython-314.pyc +0 -0
  91. package/hooks/__pycache__/session-startup.cpython-314.pyc +0 -0
  92. package/hooks/__pycache__/track-scope-coverage.cpython-314.pyc +0 -0
  93. package/hooks/__pycache__/track-token-usage.cpython-314.pyc +0 -0
  94. package/hooks/__pycache__/track-tool-use.cpython-314.pyc +0 -0
  95. package/hooks/__pycache__/update-adr-decision.cpython-314.pyc +0 -0
  96. package/hooks/__pycache__/update-api-showcase.cpython-314.pyc +0 -0
  97. package/hooks/__pycache__/update-registry.cpython-314.pyc +0 -0
  98. package/hooks/__pycache__/update-ui-showcase.cpython-314.pyc +0 -0
  99. package/hooks/__pycache__/verify-after-green.cpython-314.pyc +0 -0
  100. package/hooks/__pycache__/verify-implementation.cpython-314.pyc +0 -0
  101. package/hooks/api-workflow-check.py +34 -0
  102. package/hooks/auto-answer.py +305 -0
  103. package/hooks/check-update.py +132 -0
  104. package/hooks/completion-promise-detector.py +293 -0
  105. package/hooks/context-capacity-warning.py +171 -0
  106. package/hooks/docs-update-check.py +120 -0
  107. package/hooks/enforce-dry-run.py +134 -0
  108. package/hooks/enforce-external-research.py +25 -0
  109. package/hooks/enforce-interview.py +20 -0
  110. package/hooks/generate-adr-options.py +282 -0
  111. package/hooks/hook_utils.py +609 -0
  112. package/hooks/lib/__pycache__/__init__.cpython-314.pyc +0 -0
  113. package/hooks/lib/__pycache__/greptile.cpython-314.pyc +0 -0
  114. package/hooks/lib/__pycache__/ntfy.cpython-314.pyc +0 -0
  115. package/hooks/ntfy-on-question.py +240 -0
  116. package/hooks/orchestrator-completion.py +313 -0
  117. package/hooks/orchestrator-handoff.py +267 -0
  118. package/hooks/orchestrator-session-startup.py +146 -0
  119. package/hooks/parallel-orchestrator.py +451 -0
  120. package/hooks/periodic-reground.py +270 -67
  121. package/hooks/project-document-prompt.py +302 -0
  122. package/hooks/remote-question-proxy.py +284 -0
  123. package/hooks/remote-question-server.py +1224 -0
  124. package/hooks/run-code-review.py +176 -29
  125. package/hooks/run-visual-qa.py +338 -0
  126. package/hooks/session-logger.py +27 -1
  127. package/hooks/session-startup.py +113 -0
  128. package/hooks/update-adr-decision.py +236 -0
  129. package/hooks/update-api-showcase.py +13 -1
  130. package/hooks/update-testing-checklist.py +195 -0
  131. package/hooks/update-ui-showcase.py +13 -1
  132. package/package.json +7 -3
  133. package/scripts/extract-schema-docs.cjs +322 -0
  134. package/templates/.skills/hustle-interview/SKILL.md +174 -0
  135. package/templates/CLAUDE-SECTION.md +89 -64
  136. package/templates/adr-viewer/_components/ADRViewer.tsx +326 -0
  137. package/templates/api-dev-state.json +33 -1
  138. package/templates/api-showcase/_components/APIModal.tsx +100 -8
  139. package/templates/api-showcase/_components/APIShowcase.tsx +36 -4
  140. package/templates/api-showcase/_components/APITester.tsx +367 -58
  141. package/templates/brand-page/page.tsx +645 -0
  142. package/templates/component/Component.visual.spec.ts +30 -24
  143. package/templates/docs/page.tsx +230 -0
  144. package/templates/eslint-plugin-zod-schema/index.js +446 -0
  145. package/templates/eslint-plugin-zod-schema/package.json +26 -0
  146. package/templates/github-workflows/security.yml +274 -0
  147. package/templates/hustle-build-defaults.json +136 -0
  148. package/templates/hustle-dev-dashboard/page.tsx +365 -0
  149. package/templates/page/page.e2e.test.ts +30 -26
  150. package/templates/performance-budgets.json +63 -5
  151. package/templates/playwright-report/page.tsx +258 -0
  152. package/templates/registry.json +279 -3
  153. package/templates/review-dashboard/page.tsx +510 -0
  154. package/templates/settings.json +155 -7
  155. package/templates/test-results/page.tsx +237 -0
  156. package/templates/typedoc.json +19 -0
  157. package/templates/ui-showcase/_components/UIShowcase.tsx +48 -1
  158. package/templates/ui-showcase/_components/VisualTestingDashboard.tsx +579 -0
  159. package/templates/ui-showcase/page.tsx +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,581 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [4.5.0] - 2025-12-30
6
+
7
+ ### Added - Implementation Gap Fixes (10 Features Now Actually Work)
8
+
9
+ This release fixes 10 documented features that were not actually implemented.
10
+
11
+ #### Workflow Logging (All Sessions)
12
+
13
+ - **`hooks/hook_utils.py`** - Shared logging utility for all hooks
14
+ - `log_workflow_event()` - Log any workflow event with timestamp
15
+ - Event types: session_start, phase_transition, interview_decision, auto_answer, promise_emitted
16
+ - Logs stored in `.claude/workflow-logs/{workflow_id}.json`
17
+ - Logging added to: `session-startup.py`, `auto-answer.py`, `enforce-interview.py`, `completion-promise-detector.py`
18
+
19
+ #### Directory & Registry Creation
20
+
21
+ - **Session startup now creates required directories:**
22
+ - `.claude/workflow-logs/` - Audit trail for all sessions
23
+ - `.claude/adrs/` - Architecture Decision Records
24
+ - `.claude/adr-requests/` - Pending ADR research requests
25
+ - `.claude/research/` - Cached research data
26
+ - **Registry auto-creation:** `.claude/registry.json` created from template on first session
27
+
28
+ #### `--dry-run` Flag (NEW)
29
+
30
+ - **`hooks/enforce-dry-run.py`** - Blocks Write/Edit when dry-run active
31
+ - Allows full workflow preview without file modifications
32
+ - Shows what WOULD be written at each step
33
+ - Useful for testing autonomous mode safely
34
+
35
+ #### `--max-iterations` Enforcement (NEW)
36
+
37
+ - **Per-phase iteration limits** now enforced
38
+ - Default: 25 iterations per phase (from `hustle-build-defaults.json`)
39
+ - Blocks with clear message when limit exceeded
40
+ - Prevents infinite loops in autonomous mode
41
+ - Added to `completion-promise-detector.py`
42
+
43
+ #### `--resume` Flag Support (NEW)
44
+
45
+ - **`hook_utils.py`** - Resume functionality
46
+ - `handle_resume(workflow_id)` - Restore workflow from logs
47
+ - `list_resumable_workflows()` - Show all resumable workflows
48
+ - `snapshot_state_to_log()` - Save state for future resume
49
+
50
+ #### Ralph Wiggum Skills (NEW)
51
+
52
+ - **`.skills/ralph-status/SKILL.md`** - Show loop status
53
+ - Current phase and iteration
54
+ - Active promises
55
+ - Elapsed time
56
+ - **`.skills/ralph-continue/SKILL.md`** - Resume paused loops
57
+ - Clear active promise
58
+ - Reset iteration counters
59
+ - Continue from last phase
60
+
61
+ #### Parallel Execution (NEW)
62
+
63
+ - **`hooks/parallel-orchestrator.py`** - Git worktree coordination
64
+ - Creates isolated worktrees for parallel workflows
65
+ - Injects shared decisions to avoid re-interviewing
66
+ - Merges results when complete
67
+ - **`.skills/parallel-spawn/SKILL.md`** - Spawn parallel agents
68
+ - `/parallel-spawn api:users api:products api:orders`
69
+ - Creates worktrees, spawns background Task agents
70
+ - Monitor with `/parallel-status`, merge with `/parallel-merge`
71
+
72
+ ### Changed
73
+
74
+ - **`hooks/session-startup.py`** v4.5.0
75
+ - Now calls `ensure_directories()` and `ensure_registry()`
76
+ - Logs `session_start` event
77
+ - Initializes flags structure for dry-run/resume/parallel
78
+
79
+ - **`hooks/completion-promise-detector.py`** v4.5.0
80
+ - Now logs `promise_emitted` events
81
+ - Enforces `--max-iterations` limit
82
+ - Logs `iteration_limit_exceeded` when hit
83
+
84
+ - **`templates/settings.json`** - New hooks registered
85
+ - `enforce-dry-run.py` in PreToolUse (Write|Edit)
86
+ - `parallel-orchestrator.py` in SessionStart and UserPromptSubmit
87
+ - `completion-promise-detector.py` in PostToolUse (Bash, Write|Edit)
88
+
89
+ ### Architecture
90
+
91
+ ```
92
+ ┌─────────────────────────────────────────────────────────────────┐
93
+ │ v4.5.0 - IMPLEMENTATION GAPS FIXED │
94
+ ├─────────────────────────────────────────────────────────────────┤
95
+ │ │
96
+ │ NOW WORKING: │
97
+ │ ✓ Workflow logging (all sessions) │
98
+ │ ✓ Directory creation (.claude/workflow-logs/, .claude/adrs/) │
99
+ │ ✓ Registry auto-creation from template │
100
+ │ ✓ --dry-run flag (preview without writes) │
101
+ │ ✓ --max-iterations enforcement (per-phase limits) │
102
+ │ ✓ --resume flag (restore from workflow logs) │
103
+ │ ✓ /ralph-status skill │
104
+ │ ✓ /ralph-continue skill │
105
+ │ ✓ --parallel flag (git worktree coordination) │
106
+ │ ✓ /parallel-spawn skill (concurrent agents) │
107
+ │ │
108
+ │ FILES ADDED: │
109
+ │ + hooks/enforce-dry-run.py │
110
+ │ + hooks/parallel-orchestrator.py │
111
+ │ + .skills/ralph-status/SKILL.md │
112
+ │ + .skills/ralph-continue/SKILL.md │
113
+ │ + .skills/parallel-spawn/SKILL.md │
114
+ │ │
115
+ │ FILES MODIFIED: │
116
+ │ ~ hooks/hook_utils.py (expanded with logging, resume, etc.) │
117
+ │ ~ hooks/session-startup.py (directory/registry creation) │
118
+ │ ~ hooks/auto-answer.py (uses shared logging) │
119
+ │ ~ hooks/enforce-interview.py (logs decisions) │
120
+ │ ~ hooks/completion-promise-detector.py (iterations + logging) │
121
+ │ ~ templates/settings.json (new hooks registered) │
122
+ │ │
123
+ └─────────────────────────────────────────────────────────────────┘
124
+ ```
125
+
126
+ ---
127
+
128
+ ## [4.4.0] - 2025-12-30
129
+
130
+ ### Added - Deep ADR Research (Substantive Trade-offs)
131
+
132
+ **Problem solved:** ADRs were previously created with placeholder content (`_To be filled based on research_`). Now ADRs contain real, researched pros/cons.
133
+
134
+ - **`.claude/agents/adr-researcher.md`** - Parallel research agent (Haiku)
135
+ - Researches a single technology option
136
+ - Fetches official documentation
137
+ - Extracts: pros, cons, pricing, best-for, limitations
138
+ - Returns structured JSON for ADR creation
139
+
140
+ - **`.skills/adr-deep-research/SKILL.md`** - Deep research skill
141
+ - Reads pending requests from `.claude/adr-requests/`
142
+ - Spawns parallel `adr-researcher` agents (one per option)
143
+ - Merges results into substantive ADR document
144
+ - Updates registry with ADR metadata
145
+
146
+ - **`.claude/adr-requests/`** - Research request directory
147
+ - `pending-{category}.json` - Awaiting research
148
+ - Processed requests archived after ADR creation
149
+
150
+ ### Changed - ADR Flow (Request-Based)
151
+
152
+ - **`hooks/generate-adr-options.py`** v2.0 - Creates requests, not placeholders
153
+ - Previously: Created ADR with empty pros/cons
154
+ - Now: Creates research REQUEST file
155
+ - Injects context: "Run `/adr-deep-research {category}`"
156
+ - AI then runs deep research before interview
157
+
158
+ - **`.skills/api-research/SKILL.md`** - ADR integration documented
159
+ - Explains automatic ADR detection during research
160
+ - Documents the Research → Deep Research → Interview flow
161
+ - Links to `/adr-deep-research` skill
162
+
163
+ ### Architecture
164
+
165
+ ```
166
+ ┌─────────────────────────────────────────────────────────────────┐
167
+ │ DEEP ADR RESEARCH FLOW │
168
+ ├─────────────────────────────────────────────────────────────────┤
169
+ │ │
170
+ │ 1. /api-research runs │
171
+ │ ↓ │
172
+ │ 2. generate-adr-options.py detects decision │
173
+ │ → Creates: .claude/adr-requests/pending-database.json │
174
+ │ → Injects: "Run /adr-deep-research database" │
175
+ │ ↓ │
176
+ │ 3. /adr-deep-research database │
177
+ │ → Spawns 3 parallel adr-researcher agents │
178
+ │ → Each fetches official docs, extracts pros/cons │
179
+ │ ↓ │
180
+ │ 4. Creates: .claude/adrs/ADR-0001-database-choice.md │
181
+ │ → Real pros/cons from documentation │
182
+ │ → Pricing, limitations, best-for recommendations │
183
+ │ → Source URLs for verification │
184
+ │ ↓ │
185
+ │ 5. Interview references ADR for informed decision │
186
+ │ │
187
+ └─────────────────────────────────────────────────────────────────┘
188
+ ```
189
+
190
+ ---
191
+
192
+ ## [4.3.2] - 2025-12-30
193
+
194
+ ### Added - Master Phase Reference
195
+
196
+ - **`docs/PHASE_REFERENCE.md`** - Complete 14-phase audit reference
197
+ - Phase Status Matrix with hooks, skills, docs, implementation status
198
+ - All 14 phases documented with purpose, requirements, exit conditions
199
+ - Feature Implementation Matrix (ADR, Auto-Answer, Ralph Wiggum, etc.)
200
+ - All Slash Commands organized by category
201
+ - Configuration files reference
202
+
203
+ ### Added - ADR Integration (Research → ADR → Interview)
204
+
205
+ - **`hooks/generate-adr-options.py`** - Creates ADRs during research phase
206
+ - Detects multiple options for significant decisions (database, auth, cache, etc.)
207
+ - Creates `.claude/adrs/NNNN-category-choice.md` with options and trade-offs
208
+ - Configurable decision categories in `hustle-build-defaults.json`
209
+ - **`hooks/update-adr-decision.py`** - Updates ADRs after interview
210
+ - Changes status from PROPOSED to ACCEPTED
211
+ - Records user's decision and reasoning
212
+ - **Registry `adrs` section** - Track all ADRs with metadata
213
+ - Status, category, decision, options considered
214
+ - Links to endpoint and ADR file
215
+
216
+ ### Fixed - Auto-Answer Now Actually Works
217
+
218
+ - **`hooks/auto-answer.py`** - Uses `continue: false` pattern
219
+ - Previously: Returned `continue: true` with context (didn't skip question UI)
220
+ - Now: Returns `continue: false` with answer in reason (AI uses the answer)
221
+ - Shows brief "Auto-Selected: X" message before proceeding
222
+ - Logs all auto-answers to `.claude/workflow-logs/`
223
+
224
+ ### Changed
225
+
226
+ - **Skills updated with `(Recommended)` options** - Key skills updated
227
+ - `api-create/SKILL.md` - All 14 phase options marked with (Recommended)
228
+ - `hustle-build/SKILL.md` - Decomposition and interview options
229
+ - `hustle-brand/SKILL.md` - Interview flow and voice options
230
+ - Enables auto-answer hook to detect recommended options
231
+ - **`docs/CONFIGURATION.md`** - Added Auto-Answer Selection documentation
232
+ - Explains 3-tier priority: defaults → (Recommended) → keyword fallback
233
+ - Documents scoring algorithm for comprehensive selection
234
+ - **README.md** - Comprehensive documentation update
235
+ - All Slash Commands section with 9 categories (40+ commands)
236
+ - Phase-specific commands with phase numbers
237
+ - Configuration section with all config files
238
+ - Updated hook count (54) and component counts
239
+ - Links to new PHASE_REFERENCE.md as master reference
240
+ - New FAQ entries for ADRs and autonomous mode
241
+ - **`templates/hustle-build-defaults.json`** v3.1.0
242
+ - Added `adr` section with configurable `significant_decisions`
243
+ - Added `min_options_for_adr` threshold (default: 2)
244
+ - **`templates/registry.json`** v1.5.0
245
+ - Added `adrs` section for tracking Architecture Decision Records
246
+ - **`templates/settings.json`** - Registered new ADR hooks
247
+
248
+ ---
249
+
250
+ ## [4.3.1] - 2025-12-30
251
+
252
+ ### Added - Configuration Documentation
253
+
254
+ - **`docs/CONFIGURATION.md`** - Comprehensive configuration guide
255
+ - All configurable options in `hustle-build-defaults.json`
256
+ - How autonomous/skip interview mode works
257
+ - Logging locations for post-hoc review
258
+ - Question mappings and customization examples
259
+
260
+ ### Added - Architecture Decision Records (ADRs)
261
+
262
+ - **`docs/ARCHITECTURE_DECISION_RECORDS.md`** - ADR integration guide
263
+ - When to create ADRs (Interview & Deep Research phases)
264
+ - ADR template with context, decision drivers, consequences
265
+ - Storage in `.claude/adrs/` with index.json registry
266
+ - Integration with dashboard
267
+ - **`templates/adr-viewer/_components/ADRViewer.tsx`** - Dashboard component
268
+ - Filter by status (proposed, accepted, deprecated, superseded)
269
+ - Filter by phase (initial research, interview, deep research)
270
+ - Search across ADR titles and endpoints
271
+ - Detail view with markdown rendering
272
+
273
+ ### Changed - Autonomous Mode Now Default
274
+
275
+ - **`hustle-build-defaults.json` v3.0.0** - Autonomous mode ON by default
276
+ - `autonomous.enabled: true` - No `--auto` flag needed
277
+ - `autonomous.skip_interviews: true` - Uses comprehensive defaults
278
+ - `autonomous.ralph_wiggum_loops: true` - Iterative phases loop automatically
279
+ - `autonomous.auto_fix_visual_issues: true` - Visual QA fixes without prompting
280
+ - `autonomous.auto_fix_review_issues: true` - Code review fixes without prompting
281
+ - **`hooks/auto-answer.py`** - Now checks defaults file for autonomous mode
282
+ - Falls back to template defaults if no project-specific file
283
+ - No state file required for auto-answering to work
284
+ - **`docs/AUTONOMOUS_LOOPS.md`** - Updated to reflect default-on behavior
285
+
286
+ ### How to Disable
287
+
288
+ Set `autonomous.enabled: false` in `.claude/hustle-build-defaults.json` to require manual interviews.
289
+
290
+ ---
291
+
292
+ ## [4.3.0] - 2025-12-29
293
+
294
+ ### Added - Parallel Autonomous Workflow
295
+
296
+ - **Up to 5 Opus agents** running in parallel across git worktrees
297
+ - **`/hustle-build --parallel`** flag for parallel execution
298
+ - **`docs/PARALLEL_AUTONOMOUS_WORKFLOW.md`** - Complete architecture documentation
299
+ - **Shared context injection** - Orchestrator decisions passed to all agents
300
+ - **Merge coordinator** - Combines registry entries, resolves conflicts
301
+ - **Agent status monitoring** - Track progress across all parallel agents
302
+
303
+ ### Added - Multi-Pass Code Review
304
+
305
+ - **4-pass review system** with deterministic checklists:
306
+ - Pass 1: Logic & Bugs (null handling, off-by-one, race conditions)
307
+ - Pass 2: Security (auth, authorization, injection, data exposure)
308
+ - Pass 3: Performance (N+1, memory leaks, re-renders)
309
+ - Pass 4: Miscellaneous (AI judgment - clarity, patterns, docs)
310
+ - **Per-item pass/fail tracking** - Every checklist item answered
311
+ - **Combined summary report** - Aggregates all pass findings
312
+ - **Review Dashboard Template** (`templates/review-dashboard/page.tsx`) - Visual display of multi-pass results
313
+
314
+ ### Added - Max Iterations Flag
315
+
316
+ - **`/hustle-build --max-iterations [N]`** - Prevent infinite loops
317
+ - **Per-phase limits** - Different defaults for each phase type
318
+ - **Graceful degradation** - Creates partial PR when limit reached
319
+ - **Session archival** - Logs interrupted workflows for review
320
+
321
+ ### Added - Documentation System
322
+
323
+ - **`/docs-update`** skill - Ensures README/CHANGELOG stay current
324
+ - **`hooks/docs-update-check.py`** - PostToolUse hook reminds about doc updates
325
+ - **`docs/BRAND_GUIDE.md`** - Complete brand system setup documentation
326
+ - **README.md** updated to v4.3.0 with new counts (38+ skills, 24 hooks, 6 templates)
327
+
328
+ ### Added - Research Enhancements
329
+
330
+ - **TOC Scraping** - Fetches documentation table of contents before interview
331
+ - **Comprehensive Discovery Checklist** - Auth, endpoints, params, webhooks, SDKs, errors
332
+ - **Enhanced api-research skill** with discovery flow diagram
333
+
334
+ ### Added - Test Mode Enhancements
335
+
336
+ - **`/hustle-build --auto`** - Full autonomous builds without prompts
337
+ - **`templates/hustle-build-defaults.json`** v2.0.0 - Configurable default answers
338
+ - **Per-category defaults** - orchestrator, api, component, page, combined, testing
339
+ - **Use cases table** - CI/CD integration, demo mode, quick testing
340
+
341
+ ### Enhanced - ShadCN Skill
342
+
343
+ - **Design System Architecture** diagram showing brand → CSS → Tailwind → ShadCN flow
344
+ - **CSS Variable Mapping** table (Brand Guide → CSS Variable → ShadCN Usage)
345
+ - **Complete globals.css template** with light/dark mode support
346
+ - **`/shadcn sync`** command for brand guide synchronization
347
+ - **Registry Integration** section showing tracked values
348
+
349
+ ### Added - Final Gap Closures
350
+
351
+ - **Completion Promise Detection (Ralph Wiggum)** - Autonomous loop self-termination
352
+ - `hooks/completion-promise-detector.py` - Detects `<promise>DONE</promise>` signals
353
+ - `.skills/ralph-loop/SKILL.md` - `/ralph-loop` skill for autonomous tasks
354
+ - `/ralph-status` and `/ralph-continue` commands
355
+ - **Iterative phase integration:**
356
+ - `/test-review` outputs `<promise>REVIEW_CLEAN</promise>` when all passes clean
357
+ - `/refactor` outputs `<promise>REFACTORED</promise>` when complete
358
+ - `/test-visual` outputs `<promise>VISUAL_CLEAN</promise>` when all viewports pass
359
+ - `docs/AUTONOMOUS_LOOPS.md` - Complete pattern documentation with Geoffrey Huntley credit
360
+ - **Schema Lint ESLint Plugin** - Zod best practices enforcement
361
+ - `templates/eslint-plugin-zod-schema/` - Full ESLint plugin
362
+ - Rules: require-description, consistent-naming, no-unsafe-defaults, prefer-strict
363
+ - Recommended and strict configs
364
+ - **Dependency Audit Workflow** - Security scanning in CI
365
+ - `templates/github-workflows/security.yml` - Complete GitHub Actions workflow
366
+ - Dependency audit, license check, secret scan, SAST
367
+ - Auto-detects npm/pnpm/yarn
368
+ - **Credits & Acknowledgments** section added to README
369
+ - Geoffrey Huntley (Ralph Wiggum Pattern)
370
+ - Kent Beck (TDD Workflow)
371
+ - Context7 and GitHub MCPs
372
+
373
+ ### Changed
374
+
375
+ - **`/test-review`** - Now uses multi-pass system with promise completion signal
376
+ - **`/refactor`** - Adds promise completion signal for autonomous loops
377
+ - **`/test-visual`** - Adds promise completion signal for visual QA loops
378
+ - **`/hustle-build`** - Supports parallel, max-iterations, and auto flags
379
+ - **ROADMAP.md** - Coverage increased from 99% to 100% (MCP limit skipped by design)
380
+
381
+ ---
382
+
383
+ ## [4.2.0] - 2025-12-29
384
+
385
+ ### Added - Brand Guide System
386
+
387
+ - **`/hustle-brand`** - Comprehensive brand guide creator with interview-driven discovery
388
+ - Visual identity (colors, typography, spacing)
389
+ - Motion & animation preferences (GSAP, Framer Motion, CSS)
390
+ - Voice & tone guidelines (professional, friendly, technical, playful)
391
+ - Custom elements (terminal animations, gradients, Three.js, etc.)
392
+ - Do's and Don'ts for consistency
393
+ - **Brand Page Template** (`templates/brand-page/page.tsx`) - Living showcase with:
394
+ - Color palette with copy-to-clipboard
395
+ - Typography scale demonstration
396
+ - Button states (all variants, sizes, loading)
397
+ - Form elements showcase
398
+ - Animation examples
399
+ - Voice examples based on tone
400
+ - **Registry brand_guide section** (v1.4.0) - Tracking for:
401
+ - Interview completion status
402
+ - Custom elements selected
403
+ - Voice configuration
404
+ - ShadCN integration status
405
+
406
+ ### Added - ShadCN Integration
407
+
408
+ - **`/shadcn`** - ShadCN documentation skill with 15-day freshness auto-update
409
+ - `docs [component]` - Get latest component docs
410
+ - `add [components]` - Install with brand theme
411
+ - `status` - Show installed components and freshness
412
+ - Auto-refresh via Context7 when >15 days old
413
+
414
+ ### Changed - Visual Testing Output
415
+
416
+ - **Enhanced Haiku analysis output** - Now includes:
417
+ - Haiku's detailed reasoning for each finding
418
+ - Screenshot file paths (clickable links)
419
+ - Storybook URLs for each viewport
420
+ - Category-by-category pass/fail breakdown
421
+
422
+ ---
423
+
424
+ ## [4.1.0] - 2025-12-29
425
+
426
+ ### Coverage: 77% → 91%
427
+
428
+ Major release completing all planned test skills, visual testing, token tracking, and infrastructure improvements.
429
+
430
+ ### Added - Test Skills (8 new skills)
431
+
432
+ - **`/test-unit`** - Run Vitest unit tests with coverage thresholds
433
+ - **`/test-e2e`** - Run Playwright E2E with cross-browser reporting
434
+ - **`/test-visual`** - Storybook visual + interaction tests with 7 viewports
435
+ - **`/test-all`** - Complete suite: unit → e2e → visual → builds → review
436
+ - **`/test-review`** - **Tiered security strategy**: ESLint 100% + AI on critical paths
437
+ - **`/test-builds`** - **Browser-only testing** (Chrome/Firefox/WebKit = all platforms)
438
+ - **`/test-debug`** - DOM snapshots, root cause analysis
439
+ - **`/visual-qa`** - Full visual QA with Haiku analysis
440
+
441
+ ### Added - Visual Testing Enhancements
442
+
443
+ - **7 Viewports**: Mobile portrait, notch, landscape; tablet portrait/landscape; small/large desktop
444
+ - **Safe Area Insets**: iOS notch support (top: 47px, bottom: 34px)
445
+ - **Haiku Visual Analyzer Agent**: AI-powered screenshot analysis
446
+ - **Enhanced Output**: Haiku's detailed reasoning for each issue
447
+ - **Quick Links**: Screenshot paths, Storybook URLs, Playwright reports
448
+
449
+ ### Added - Registry Expansion (v1.3.0)
450
+
451
+ - **`routes`** - API routes + page routes tracking
452
+ - **`env_vars`** - Required environment variables with docs links
453
+ - **`services`** - External dependencies (Stripe, Supabase, OpenAI, etc.)
454
+ - **`webhooks`** - Incoming webhook endpoints with signature config
455
+
456
+ ### Added - State Management (v3.11.0)
457
+
458
+ - **Session Archives** - Completed/interrupted workflow history
459
+ - **Learnings Aggregation** - Cross-session pattern learning
460
+ - **Re-grounding Integration** - Full infrastructure awareness in 7-turn reminders
461
+
462
+ ### Added - Security
463
+
464
+ - **Tiered Security Review**: ESLint on ALL files + AI on changed/critical paths
465
+ - **AI Security Patterns**: SQL injection, auth bypass, CSRF, IDOR, mass assignment, data exposure
466
+ - **Security Deny Rules**: In `templates/settings.json`
467
+
468
+ ### Added - Token Tracking
469
+
470
+ - **`/token-report`** skill with ccusage integration
471
+ - **Per-phase timestamps** in state for cost correlation
472
+ - **Context capacity warning** hook at 80% usage
473
+
474
+ ### Added - Documentation
475
+
476
+ - **`docs/REGROUNDING.md`** v4.1.0 - Registry integration section
477
+ - **`docs/PRE-COMMIT-SETUP.md`** - lint-staged configuration
478
+ - **`docs/ESLINT-CONFIG.md`** - Type-aware rules setup
479
+
480
+ ### Changed
481
+
482
+ - **`/test-builds`** - Now browser-only (Chromium/Firefox/WebKit covers Tauri/Capacitor/Electron)
483
+ - **`/test-review`** - Tiered approach for large codebases (ESLint 100% + AI on critical)
484
+ - **`periodic-reground.py`** - Now includes routes, services, webhooks, env vars
485
+
486
+ ### Fixed
487
+
488
+ - **Source Repository Detection** - Hooks no longer self-enforce on api-dev-tools source
489
+ - **Hook Utils** - New `hooks/hook_utils.py` with `is_source_repository()` function
490
+
491
+ ---
492
+
493
+ ## [3.12.12] - 2025-12-28
494
+
495
+ ### Added
496
+
497
+ - **Dashboard Page Templates** - All dashboard links now work (no more 404s)
498
+ - `/docs` - TypeDoc documentation viewer with generation instructions
499
+ - `/test-results` - Vitest results page with test commands reference
500
+ - `/playwright-report` - E2E test report viewer with Playwright commands
501
+
502
+ - **Interactive Query Parameter Builder** - Enhanced API testing UX
503
+ - Checkbox toggle to include/exclude each parameter in query string
504
+ - Type-aware inline editors:
505
+ - Dropdown `<select>` for enum types (order_by, color, orientation)
506
+ - Number inputs with min/max validation for numeric types
507
+ - Text inputs with placeholder examples for strings
508
+ - Auto-updates query string as you check params and edit values
509
+ - Required params locked on (can't uncheck)
510
+ - Example preset buttons still work as quick templates
511
+
512
+ ### Changed
513
+
514
+ - **ParameterDocs component** renamed to `InteractiveParamBuilder` for GET requests
515
+ - Query params now sync bidirectionally between builder and input field
516
+
517
+ ### Documentation
518
+
519
+ - **[docs/HOOKS.md](./docs/HOOKS.md)** - Complete hook reference (45+ hooks)
520
+ - **[docs/SKILLS.md](./docs/SKILLS.md)** - All slash commands with usage examples
521
+ - **[docs/AGENTS.md](./docs/AGENTS.md)** - Specialized subagent reference
522
+ - **[docs/PLUGIN_ARCHITECTURE.md](./docs/PLUGIN_ARCHITECTURE.md)** - How the plugin system works
523
+
524
+ ---
525
+
526
+ ## [3.12.11] - 2025-12-28
527
+
528
+ ### Added
529
+
530
+ - **Hustle Dev Dashboard** (`/hustle-dev-dashboard`) - Central hub page template
531
+ - Links to API Showcase, UI Showcase, Storybook, TypeDoc, Test Results
532
+ - Shows registry stats (APIs, Combined, Components, Pages)
533
+ - Quick Commands section with common pnpm commands
534
+ - Brand-themed design matching Hustle Together style
535
+
536
+ - **End-of-Workflow Summaries** - All 4 main commands now show completion summaries
537
+ - `/hustle-api-create` - Shows API quick links and next steps
538
+ - `/hustle-combine` - Shows combined API info and dashboard link
539
+ - `/hustle-ui-create` - Shows component preview links and Storybook
540
+ - `/hustle-ui-create-page` - Shows page URL and E2E test commands
541
+
542
+ ### Changed
543
+
544
+ - **API Modal UX Improvements** - Better testing experience
545
+ - Modal widened from `max-w-5xl` to `max-w-7xl` for more content space
546
+ - "Send Request" button moved to footer (alongside View Tests/Copy Schema)
547
+ - Reduces scrolling when testing APIs
548
+
549
+ ---
550
+
551
+ ## [3.12.10] - 2025-12-28
552
+
553
+ ### Added
554
+
555
+ - **TypeDoc Integration** - Generate API documentation from TSDoc comments
556
+ - `pnpm typedoc` script to generate Markdown docs
557
+ - `pnpm typedoc:watch` for development mode
558
+ - `templates/typedoc.json` configuration template
559
+ - Runs during Phase 13 (Documentation)
560
+
561
+ - **API Showcase Example Requests** - Pre-built, runnable examples in the testing UI
562
+ - Example selector UI with clickable buttons
563
+ - Auto-fills query parameters when clicked
564
+ - "Copy curl" button for each example
565
+ - Examples auto-generated from Zod schema parameters
566
+
567
+ - **Enhanced extract-schema-docs.cjs** - Generates working examples from schemas
568
+ - Detects required params, enums, and defaults
569
+ - Builds query strings and curl commands
570
+ - Outputs `examples` section for registry.json
571
+
572
+ ### Fixed
573
+
574
+ - **APIModal 404 errors** - Fixed endpoint path building for action-based APIs
575
+ - Action-based APIs now use query params (`/api/v2/unsplash?action=search`)
576
+ - No longer incorrectly builds sub-paths (`/api/v2/unsplash/search`)
577
+
578
+ ---
579
+
5
580
  ## [1.0.1] - 2025-12-28
6
581
 
7
582
  ### Fixed