@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.
- package/.claude/adr-requests/.gitkeep +10 -0
- package/.claude/agents/adr-researcher.md +109 -0
- package/.claude/agents/visual-analyzer.md +183 -0
- package/.claude/api-dev-state.json +7 -463
- package/.claude/documentation-audit.json +114 -0
- package/.claude/registry.json +289 -0
- package/.claude/settings.json +45 -1
- package/.claude/workflow-logs/None.json +49 -0
- package/.claude/workflow-logs/session-20251230-143727.json +106 -0
- package/.skills/adr-deep-research/SKILL.md +351 -0
- package/.skills/api-create/SKILL.md +116 -17
- package/.skills/api-research/SKILL.md +130 -0
- package/.skills/docs-sync/SKILL.md +260 -0
- package/.skills/docs-update/SKILL.md +205 -0
- package/.skills/hustle-brand/SKILL.md +368 -0
- package/.skills/hustle-build/SKILL.md +786 -0
- package/.skills/hustle-build-review/SKILL.md +518 -0
- package/.skills/parallel-spawn/SKILL.md +212 -0
- package/.skills/ralph-continue/SKILL.md +151 -0
- package/.skills/ralph-loop/SKILL.md +341 -0
- package/.skills/ralph-status/SKILL.md +87 -0
- package/.skills/refactor/SKILL.md +59 -0
- package/.skills/shadcn/SKILL.md +522 -0
- package/.skills/test-all/SKILL.md +210 -0
- package/.skills/test-builds/SKILL.md +208 -0
- package/.skills/test-debug/SKILL.md +212 -0
- package/.skills/test-e2e/SKILL.md +168 -0
- package/.skills/test-review/SKILL.md +707 -0
- package/.skills/test-unit/SKILL.md +143 -0
- package/.skills/test-visual/SKILL.md +301 -0
- package/.skills/token-report/SKILL.md +132 -0
- package/CHANGELOG.md +575 -0
- package/README.md +426 -56
- package/bin/cli.js +1538 -88
- package/commands/hustle-api-create.md +22 -0
- package/commands/hustle-build.md +259 -0
- package/commands/hustle-combine.md +81 -2
- package/commands/hustle-ui-create-page.md +84 -2
- package/commands/hustle-ui-create.md +82 -2
- package/hooks/__pycache__/api-workflow-check.cpython-314.pyc +0 -0
- package/hooks/__pycache__/auto-answer.cpython-314.pyc +0 -0
- package/hooks/__pycache__/cache-research.cpython-314.pyc +0 -0
- package/hooks/__pycache__/check-api-routes.cpython-314.pyc +0 -0
- package/hooks/__pycache__/check-playwright-setup.cpython-314.pyc +0 -0
- package/hooks/__pycache__/check-storybook-setup.cpython-314.pyc +0 -0
- package/hooks/__pycache__/check-update.cpython-314.pyc +0 -0
- package/hooks/__pycache__/completion-promise-detector.cpython-314.pyc +0 -0
- package/hooks/__pycache__/context-capacity-warning.cpython-314.pyc +0 -0
- package/hooks/__pycache__/detect-interruption.cpython-314.pyc +0 -0
- package/hooks/__pycache__/docs-update-check.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-a11y-audit.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-brand-guide.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-component-type-confirm.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-deep-research.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-disambiguation.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-documentation.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-dry-run.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-environment.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-external-research.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-freshness.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-interview.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-page-components.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-page-data-schema.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-questions-sourced.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-refactor.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-research.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-schema-from-interview.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-schema.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-scope.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-tdd-red.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-ui-disambiguation.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-ui-interview.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-verify.cpython-314.pyc +0 -0
- package/hooks/__pycache__/generate-adr-options.cpython-314.pyc +0 -0
- package/hooks/__pycache__/generate-manifest-entry.cpython-314.pyc +0 -0
- package/hooks/__pycache__/hook_utils.cpython-314.pyc +0 -0
- package/hooks/__pycache__/notify-input-needed.cpython-314.pyc +0 -0
- package/hooks/__pycache__/notify-phase-complete.cpython-314.pyc +0 -0
- package/hooks/__pycache__/ntfy-on-question.cpython-314.pyc +0 -0
- package/hooks/__pycache__/orchestrator-completion.cpython-314.pyc +0 -0
- package/hooks/__pycache__/orchestrator-handoff.cpython-314.pyc +0 -0
- package/hooks/__pycache__/orchestrator-session-startup.cpython-314.pyc +0 -0
- package/hooks/__pycache__/parallel-orchestrator.cpython-314.pyc +0 -0
- package/hooks/__pycache__/periodic-reground.cpython-314.pyc +0 -0
- package/hooks/__pycache__/project-document-prompt.cpython-314.pyc +0 -0
- package/hooks/__pycache__/remote-question-proxy.cpython-314.pyc +0 -0
- package/hooks/__pycache__/remote-question-server.cpython-314.pyc +0 -0
- package/hooks/__pycache__/run-code-review.cpython-314.pyc +0 -0
- package/hooks/__pycache__/run-visual-qa.cpython-314.pyc +0 -0
- package/hooks/__pycache__/session-logger.cpython-314.pyc +0 -0
- package/hooks/__pycache__/session-startup.cpython-314.pyc +0 -0
- package/hooks/__pycache__/track-scope-coverage.cpython-314.pyc +0 -0
- package/hooks/__pycache__/track-token-usage.cpython-314.pyc +0 -0
- package/hooks/__pycache__/track-tool-use.cpython-314.pyc +0 -0
- package/hooks/__pycache__/update-adr-decision.cpython-314.pyc +0 -0
- package/hooks/__pycache__/update-api-showcase.cpython-314.pyc +0 -0
- package/hooks/__pycache__/update-registry.cpython-314.pyc +0 -0
- package/hooks/__pycache__/update-ui-showcase.cpython-314.pyc +0 -0
- package/hooks/__pycache__/verify-after-green.cpython-314.pyc +0 -0
- package/hooks/__pycache__/verify-implementation.cpython-314.pyc +0 -0
- package/hooks/api-workflow-check.py +34 -0
- package/hooks/auto-answer.py +305 -0
- package/hooks/check-update.py +132 -0
- package/hooks/completion-promise-detector.py +293 -0
- package/hooks/context-capacity-warning.py +171 -0
- package/hooks/docs-update-check.py +120 -0
- package/hooks/enforce-dry-run.py +134 -0
- package/hooks/enforce-external-research.py +25 -0
- package/hooks/enforce-interview.py +20 -0
- package/hooks/generate-adr-options.py +282 -0
- package/hooks/hook_utils.py +609 -0
- package/hooks/lib/__pycache__/__init__.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/greptile.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/ntfy.cpython-314.pyc +0 -0
- package/hooks/ntfy-on-question.py +240 -0
- package/hooks/orchestrator-completion.py +313 -0
- package/hooks/orchestrator-handoff.py +267 -0
- package/hooks/orchestrator-session-startup.py +146 -0
- package/hooks/parallel-orchestrator.py +451 -0
- package/hooks/periodic-reground.py +270 -67
- package/hooks/project-document-prompt.py +302 -0
- package/hooks/remote-question-proxy.py +284 -0
- package/hooks/remote-question-server.py +1224 -0
- package/hooks/run-code-review.py +176 -29
- package/hooks/run-visual-qa.py +338 -0
- package/hooks/session-logger.py +27 -1
- package/hooks/session-startup.py +113 -0
- package/hooks/update-adr-decision.py +236 -0
- package/hooks/update-api-showcase.py +13 -1
- package/hooks/update-testing-checklist.py +195 -0
- package/hooks/update-ui-showcase.py +13 -1
- package/package.json +7 -3
- package/scripts/extract-schema-docs.cjs +322 -0
- package/templates/.skills/hustle-interview/SKILL.md +174 -0
- package/templates/CLAUDE-SECTION.md +89 -64
- package/templates/adr-viewer/_components/ADRViewer.tsx +326 -0
- package/templates/api-dev-state.json +33 -1
- package/templates/api-showcase/_components/APIModal.tsx +100 -8
- package/templates/api-showcase/_components/APIShowcase.tsx +36 -4
- package/templates/api-showcase/_components/APITester.tsx +367 -58
- package/templates/brand-page/page.tsx +645 -0
- package/templates/component/Component.visual.spec.ts +30 -24
- package/templates/docs/page.tsx +230 -0
- package/templates/eslint-plugin-zod-schema/index.js +446 -0
- package/templates/eslint-plugin-zod-schema/package.json +26 -0
- package/templates/github-workflows/security.yml +274 -0
- package/templates/hustle-build-defaults.json +136 -0
- package/templates/hustle-dev-dashboard/page.tsx +365 -0
- package/templates/page/page.e2e.test.ts +30 -26
- package/templates/performance-budgets.json +63 -5
- package/templates/playwright-report/page.tsx +258 -0
- package/templates/registry.json +279 -3
- package/templates/review-dashboard/page.tsx +510 -0
- package/templates/settings.json +155 -7
- package/templates/test-results/page.tsx +237 -0
- package/templates/typedoc.json +19 -0
- package/templates/ui-showcase/_components/UIShowcase.tsx +48 -1
- package/templates/ui-showcase/_components/VisualTestingDashboard.tsx +579 -0
- 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
|