ideabox 1.0.0
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/AGENTS.md +14 -0
- package/CLAUDE.md +14 -0
- package/LICENSE +21 -0
- package/README.md +413 -0
- package/bin/cli.mjs +267 -0
- package/package.json +39 -0
- package/skills/backlog/SKILL.md +101 -0
- package/skills/ideabox/SKILL.md +110 -0
- package/skills/ideabox/phases/01-research.md +173 -0
- package/skills/ideabox/phases/02-brainstorm.md +213 -0
- package/skills/ideabox/phases/03-plan.md +166 -0
- package/skills/ideabox/phases/04-build.md +213 -0
- package/skills/ideabox/phases/05-qa.md +135 -0
- package/skills/ideabox/phases/06-polish.md +111 -0
- package/skills/ideabox/phases/07-ship.md +119 -0
- package/skills/ideabox/phases/08-post-ship.md +83 -0
- package/skills/ideabox/phases/09-learn.md +208 -0
- package/skills/ideabox/references/research-sources.md +247 -0
- package/skills/ideabox/references/revenue-models.md +81 -0
- package/skills/ideabox/references/scoring-rubric.md +245 -0
- package/skills/ideabox/references/self-improvement.md +217 -0
- package/skills/profile/SKILL.md +97 -0
- package/skills/research/SKILL.md +62 -0
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
# Phase 04: Build
|
|
2
|
+
|
|
3
|
+
Execute the implementation plan using subagent-driven development with TDD discipline.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
Read `.ideabox/session/03-plan.md` for the approved implementation plan.
|
|
8
|
+
|
|
9
|
+
## Iron Laws
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
1. NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST
|
|
13
|
+
2. NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST
|
|
14
|
+
3. NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Step 1: Setup Workspace
|
|
18
|
+
|
|
19
|
+
If building a new project:
|
|
20
|
+
1. Create the project directory
|
|
21
|
+
2. Initialize git repo
|
|
22
|
+
3. Install dependencies
|
|
23
|
+
4. Verify the environment works (run a hello-world or initial test)
|
|
24
|
+
|
|
25
|
+
If adding to existing project:
|
|
26
|
+
1. Create a feature branch
|
|
27
|
+
2. Verify existing tests pass before making changes
|
|
28
|
+
|
|
29
|
+
## Step 2: Execute Plan — Subagent-Driven
|
|
30
|
+
|
|
31
|
+
**Parallelization:** For independent tasks (no shared files or dependencies), dispatch multiple implementer subagents in parallel. This significantly speeds up plans with 5+ independent tasks. Only serialize tasks that modify the same files or depend on each other's output.
|
|
32
|
+
|
|
33
|
+
For each task in the plan:
|
|
34
|
+
|
|
35
|
+
### 2a: Dispatch Implementer Subagent
|
|
36
|
+
|
|
37
|
+
Use the Agent tool to dispatch a fresh subagent with:
|
|
38
|
+
- Full task text (pasted, never make subagent read plan file)
|
|
39
|
+
- Context about where this task fits in the overall project
|
|
40
|
+
- Instructions to follow TDD: write failing test first, verify it fails, implement, verify it passes, commit
|
|
41
|
+
|
|
42
|
+
**Implementer instructions to include:**
|
|
43
|
+
- "Follow TDD strictly: write the failing test FIRST. Run it. See it fail. Then implement. Run again. See it pass."
|
|
44
|
+
- "Commit after each task with a descriptive message."
|
|
45
|
+
- "If you're stuck, report NEEDS_CONTEXT or BLOCKED — don't guess."
|
|
46
|
+
- Self-review checklist: Completeness, Quality, Testing, Discipline
|
|
47
|
+
- Report format: Status (DONE | DONE_WITH_CONCERNS | BLOCKED | NEEDS_CONTEXT), files changed, tests added, issues
|
|
48
|
+
|
|
49
|
+
### 2b: Handle Implementer Response
|
|
50
|
+
|
|
51
|
+
- **DONE:** Proceed to spec review
|
|
52
|
+
- **DONE_WITH_CONCERNS:** Read concerns. If about correctness/scope, address before review. If observations, note and proceed.
|
|
53
|
+
- **NEEDS_CONTEXT:** Provide missing info, re-dispatch
|
|
54
|
+
- **BLOCKED:** Assess: context problem -> provide more context. Task too complex -> break it up. Plan wrong -> flag to user.
|
|
55
|
+
|
|
56
|
+
### 2c: Dispatch Spec Compliance Reviewer
|
|
57
|
+
|
|
58
|
+
After implementer reports DONE:
|
|
59
|
+
|
|
60
|
+
"Review the implementation for spec compliance. Read the actual code that was written (don't trust the implementer's report). Compare implementation to these requirements line by line: {paste task requirements}. Check:
|
|
61
|
+
- Every requirement is implemented
|
|
62
|
+
- Nothing extra was added (no scope creep)
|
|
63
|
+
- Types and interfaces match the plan
|
|
64
|
+
Report: SPEC_COMPLIANT or ISSUES_FOUND with specific file:line references."
|
|
65
|
+
|
|
66
|
+
**CRITICAL: Do not trust the implementer's report.** Verify everything independently.
|
|
67
|
+
|
|
68
|
+
### 2d: Dispatch Code Quality Reviewer
|
|
69
|
+
|
|
70
|
+
Only AFTER spec compliance passes:
|
|
71
|
+
|
|
72
|
+
"Review the code quality of changes in the recent commits. Check:
|
|
73
|
+
- Single responsibility per file
|
|
74
|
+
- Well-defined interfaces
|
|
75
|
+
- Code can be understood and tested independently
|
|
76
|
+
- No unnecessary complexity
|
|
77
|
+
- Tests are meaningful (not testing mock behavior)
|
|
78
|
+
Report: Strengths, Issues (Critical/Important/Minor), Assessment (APPROVED or NEEDS_CHANGES)."
|
|
79
|
+
|
|
80
|
+
**Never start quality review before spec compliance is approved.**
|
|
81
|
+
|
|
82
|
+
### 2e: Fix Cycle
|
|
83
|
+
|
|
84
|
+
If either reviewer finds issues:
|
|
85
|
+
1. Dispatch the implementer to fix specific issues
|
|
86
|
+
2. Re-dispatch the relevant reviewer
|
|
87
|
+
3. Repeat until approved
|
|
88
|
+
4. Mark task complete
|
|
89
|
+
|
|
90
|
+
## Step 3: TDD Discipline
|
|
91
|
+
|
|
92
|
+
For every piece of code written during this phase:
|
|
93
|
+
|
|
94
|
+
### RED — Write One Minimal Test
|
|
95
|
+
- Tests one behavior
|
|
96
|
+
- Clear name describing what should happen
|
|
97
|
+
- Uses real code (no mocks unless unavoidable)
|
|
98
|
+
|
|
99
|
+
### Verify RED (MANDATORY)
|
|
100
|
+
- Test fails (not errors — fails)
|
|
101
|
+
- Failure message is the expected one
|
|
102
|
+
- Fails because feature is missing, not because of typos
|
|
103
|
+
|
|
104
|
+
### GREEN — Write Simplest Code to Pass
|
|
105
|
+
- Don't add features beyond what the test requires
|
|
106
|
+
- Don't refactor yet
|
|
107
|
+
- Don't "improve" surrounding code
|
|
108
|
+
|
|
109
|
+
### Verify GREEN (MANDATORY)
|
|
110
|
+
- New test passes
|
|
111
|
+
- All other tests still pass
|
|
112
|
+
- No errors or warnings in output
|
|
113
|
+
|
|
114
|
+
### REFACTOR — Only After Green
|
|
115
|
+
- Remove duplication
|
|
116
|
+
- Improve names
|
|
117
|
+
- Extract helpers
|
|
118
|
+
- Keep all tests green
|
|
119
|
+
|
|
120
|
+
### Rationalization Prevention
|
|
121
|
+
|
|
122
|
+
| Excuse | Reality |
|
|
123
|
+
|--------|---------|
|
|
124
|
+
| "Too simple to test" | Simple code breaks. Test takes 30 seconds. |
|
|
125
|
+
| "I'll test after" | Tests-after proves nothing about design. |
|
|
126
|
+
| "Need to explore first" | Fine. Throw away exploration, start with TDD. |
|
|
127
|
+
| "TDD will slow me down" | TDD is faster than debugging. |
|
|
128
|
+
| "Existing code has no tests" | You're improving it. Add tests. |
|
|
129
|
+
|
|
130
|
+
## Step 4: Debugging Protocol
|
|
131
|
+
|
|
132
|
+
When tests fail unexpectedly:
|
|
133
|
+
|
|
134
|
+
1. **Read error messages carefully** — don't skip, read completely
|
|
135
|
+
2. **Reproduce consistently** — exact steps, every time?
|
|
136
|
+
3. **Check recent changes** — git diff, what changed?
|
|
137
|
+
4. **Trace data flow** — where does the bad value originate? Keep tracing up.
|
|
138
|
+
5. **Form single hypothesis** — "I think X because Y"
|
|
139
|
+
6. **Test minimally** — smallest possible change, one variable at a time
|
|
140
|
+
7. **If fix doesn't work** — form NEW hypothesis, don't pile fixes
|
|
141
|
+
|
|
142
|
+
**After 3+ failed fixes: STOP.** Question the architecture. The pattern of each fix revealing new problems means the approach is wrong. Discuss with user before attempting more fixes.
|
|
143
|
+
|
|
144
|
+
## Step 5: Acceptance Criteria Verification (Ralph Pattern)
|
|
145
|
+
|
|
146
|
+
After all plan tasks are executed, verify against acceptance criteria from the brainstorm spec:
|
|
147
|
+
|
|
148
|
+
1. Read `.ideabox/session/02-brainstorm-spec.md` — extract the Success Criteria section
|
|
149
|
+
2. Convert each criterion into a testable check
|
|
150
|
+
3. For each criterion:
|
|
151
|
+
- Run the verification (test command, manual check, or inspection)
|
|
152
|
+
- Record: PASS or FAIL with evidence
|
|
153
|
+
- If FAIL: fix the issue, re-verify, commit atomically
|
|
154
|
+
4. **Only mark build as complete when ALL criteria pass**
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
## Acceptance Criteria Verification
|
|
158
|
+
|
|
159
|
+
| # | Criterion | Status | Evidence |
|
|
160
|
+
|---|-----------|--------|----------|
|
|
161
|
+
| 1 | {criterion from spec} | PASS/FAIL | {test output or observation} |
|
|
162
|
+
| 2 | {criterion from spec} | PASS/FAIL | {evidence} |
|
|
163
|
+
...
|
|
164
|
+
|
|
165
|
+
**Result:** X/Y criteria passing
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**Non-negotiable:** Never declare "build complete" with failing acceptance criteria. Fix or escalate.
|
|
169
|
+
|
|
170
|
+
## Step 6: Verify All Tasks Complete
|
|
171
|
+
|
|
172
|
+
After all plan tasks are executed AND acceptance criteria pass:
|
|
173
|
+
|
|
174
|
+
1. Run the full test suite — verify ALL tests pass
|
|
175
|
+
2. Run linter/typecheck if configured — verify clean
|
|
176
|
+
3. Count: tasks planned vs tasks completed
|
|
177
|
+
4. Review git log — verify all tasks have commits
|
|
178
|
+
|
|
179
|
+
**Evidence before claims:** Run the command, read the output, THEN claim it passes. Never say "should work" or "probably passes."
|
|
180
|
+
|
|
181
|
+
## Step 7: Write Build Handoff
|
|
182
|
+
|
|
183
|
+
Save a structured handoff to `.ideabox/session/04-handoff.md`:
|
|
184
|
+
|
|
185
|
+
```markdown
|
|
186
|
+
# Phase 04 Handoff: Build -> QA
|
|
187
|
+
|
|
188
|
+
## What Was Built
|
|
189
|
+
- [list of components/features implemented]
|
|
190
|
+
|
|
191
|
+
## Acceptance Criteria Status
|
|
192
|
+
- X/Y criteria passing
|
|
193
|
+
|
|
194
|
+
## Known Issues
|
|
195
|
+
- [any issues discovered during build that need QA attention]
|
|
196
|
+
|
|
197
|
+
## Test Coverage
|
|
198
|
+
- [number of tests, what they cover]
|
|
199
|
+
|
|
200
|
+
## Architecture Decisions Made During Build
|
|
201
|
+
- [any decisions that deviated from the plan, with reasoning]
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
## Step 8: Update State
|
|
205
|
+
|
|
206
|
+
Update `.ideabox/state.json`:
|
|
207
|
+
- Add "04-build" to `phases_completed`
|
|
208
|
+
- Set `current_phase` to "05-qa"
|
|
209
|
+
- Set `artifacts.build` to the project directory path
|
|
210
|
+
|
|
211
|
+
## Gate Condition
|
|
212
|
+
|
|
213
|
+
Phase 04 passes when: all plan tasks are complete, all tests pass (with evidence — show the test output), and two-stage review (spec + quality) is complete for every task.
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# Phase 05: QA
|
|
2
|
+
|
|
3
|
+
Systematic testing and bug-fixing. Test like a real user, find bugs, fix them with atomic commits, re-verify.
|
|
4
|
+
|
|
5
|
+
## Iron Law
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
If you haven't run the verification command in this message, you cannot claim it passes.
|
|
12
|
+
|
|
13
|
+
## Step 1: Run Test Suite
|
|
14
|
+
|
|
15
|
+
Run the project's full test suite. Record exact output.
|
|
16
|
+
|
|
17
|
+
- **All pass:** Note pass count and continue to user-facing QA
|
|
18
|
+
- **Failures:** Fix each failure before proceeding. For each fix:
|
|
19
|
+
1. Identify root cause (don't guess)
|
|
20
|
+
2. Fix the actual issue (not the symptom)
|
|
21
|
+
3. Run tests again — verify fix with evidence
|
|
22
|
+
4. Commit atomically: `git commit -m "fix: [specific description]"`
|
|
23
|
+
|
|
24
|
+
## Step 2: User-Facing QA (if applicable)
|
|
25
|
+
|
|
26
|
+
For projects with a UI or CLI interface:
|
|
27
|
+
|
|
28
|
+
### 2a: Test Core User Flows
|
|
29
|
+
Walk through every major user flow as a real user would:
|
|
30
|
+
- Happy path (normal usage)
|
|
31
|
+
- Error cases (bad input, missing data, network failures)
|
|
32
|
+
- Edge cases (empty states, max values, special characters)
|
|
33
|
+
|
|
34
|
+
### 2b: Per-Page/Screen Checklist (for web/mobile)
|
|
35
|
+
For each page or screen, check:
|
|
36
|
+
|
|
37
|
+
| Category | Check |
|
|
38
|
+
|----------|-------|
|
|
39
|
+
| **Console** | Zero errors in browser/terminal console |
|
|
40
|
+
| **Links** | All links resolve (no 404s, no dead links) |
|
|
41
|
+
| **Visual** | Layout correct, no overlapping elements, responsive |
|
|
42
|
+
| **Functional** | All buttons/forms/interactions work correctly |
|
|
43
|
+
| **UX** | Loading states, error messages, empty states handled |
|
|
44
|
+
| **Performance** | Page loads in <3 seconds, no jank |
|
|
45
|
+
| **Content** | No placeholder text, no lorem ipsum, no "TODO" |
|
|
46
|
+
| **Accessibility** | Color contrast OK, keyboard navigation works, alt text present |
|
|
47
|
+
|
|
48
|
+
### 2c: CLI Verification (for CLI tools)
|
|
49
|
+
- `--help` shows correct usage
|
|
50
|
+
- All commands work with valid input
|
|
51
|
+
- Error messages are clear for invalid input
|
|
52
|
+
- Exit codes are correct (0 for success, non-zero for errors)
|
|
53
|
+
|
|
54
|
+
## Step 3: Health Score
|
|
55
|
+
|
|
56
|
+
Compute a health score (0-100) based on findings:
|
|
57
|
+
|
|
58
|
+
| Category | Weight |
|
|
59
|
+
|----------|--------|
|
|
60
|
+
| Console errors | 15% |
|
|
61
|
+
| Broken links | 10% |
|
|
62
|
+
| Visual issues | 10% |
|
|
63
|
+
| Functional bugs | 20% |
|
|
64
|
+
| UX problems | 15% |
|
|
65
|
+
| Performance | 10% |
|
|
66
|
+
| Content issues | 5% |
|
|
67
|
+
| Accessibility | 15% |
|
|
68
|
+
|
|
69
|
+
**Scoring per category:**
|
|
70
|
+
- 0 issues: 100
|
|
71
|
+
- 1-3 issues: 70
|
|
72
|
+
- 4-10 issues: 40
|
|
73
|
+
- 10+ issues: 10
|
|
74
|
+
|
|
75
|
+
**Severity deductions from base score:**
|
|
76
|
+
- Critical bug: -25
|
|
77
|
+
- High: -15
|
|
78
|
+
- Medium: -8
|
|
79
|
+
- Low: -3
|
|
80
|
+
|
|
81
|
+
## Step 4: Fix-Verify Loop
|
|
82
|
+
|
|
83
|
+
For each bug found (prioritized by severity — critical first):
|
|
84
|
+
|
|
85
|
+
1. **Locate source** — find the root cause in the code
|
|
86
|
+
2. **Fix** — make the minimal change needed
|
|
87
|
+
3. **Commit atomically** — `git commit -m "fix: [specific bug description]"`
|
|
88
|
+
4. **Re-verify** — run the specific test or check to confirm the fix
|
|
89
|
+
|
|
90
|
+
**Rules:**
|
|
91
|
+
- One fix per commit (atomic)
|
|
92
|
+
- Always re-verify after fixing (don't trust that it works — check)
|
|
93
|
+
- Depth over breadth: 5 well-fixed bugs > 20 half-fixed bugs
|
|
94
|
+
|
|
95
|
+
## Step 5: Verification Gate
|
|
96
|
+
|
|
97
|
+
Before claiming QA is complete:
|
|
98
|
+
|
|
99
|
+
1. **Run full test suite** — show output, count pass/fail
|
|
100
|
+
2. **Health score** — compute and present
|
|
101
|
+
3. **Remaining issues** — list any unfixed issues with severity
|
|
102
|
+
|
|
103
|
+
**Verification evidence format:**
|
|
104
|
+
```
|
|
105
|
+
## QA Results
|
|
106
|
+
|
|
107
|
+
**Test suite:** X/X passing (command output below)
|
|
108
|
+
**Health score:** XX/100
|
|
109
|
+
**Bugs found:** X total (X fixed, X remaining)
|
|
110
|
+
**Critical/High remaining:** X
|
|
111
|
+
|
|
112
|
+
[paste actual test output]
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Step 6: Update State
|
|
116
|
+
|
|
117
|
+
Update `.ideabox/state.json`:
|
|
118
|
+
- Add "05-qa" to `phases_completed`
|
|
119
|
+
- Set `current_phase` to "06-polish"
|
|
120
|
+
- Set `artifacts.qa` to `.ideabox/session/05-qa-report.md`
|
|
121
|
+
|
|
122
|
+
Write QA report to `.ideabox/session/05-qa-report.md`.
|
|
123
|
+
|
|
124
|
+
## Gate Condition
|
|
125
|
+
|
|
126
|
+
Phase 05 passes when: health score >= 70, zero critical bugs remaining, all tests pass (with evidence — show the output).
|
|
127
|
+
|
|
128
|
+
## Verification Rationalization Prevention
|
|
129
|
+
|
|
130
|
+
| Claim | Requires | NOT Sufficient |
|
|
131
|
+
|-------|----------|----------------|
|
|
132
|
+
| "Tests pass" | Test command output: 0 failures | Previous run, "should pass" |
|
|
133
|
+
| "Bug fixed" | Re-test shows fix works | "Code changed" |
|
|
134
|
+
| "QA complete" | Health score computed | "Looked good" |
|
|
135
|
+
| "No issues" | Systematic check completed | "Didn't notice any" |
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Phase 06: Polish
|
|
2
|
+
|
|
3
|
+
Visual QA and design refinement. Find and fix visual inconsistencies, spacing issues, AI slop patterns, and interaction problems.
|
|
4
|
+
|
|
5
|
+
**Skip this phase if:** the project has no visual UI (libraries, APIs, backend services without a frontend).
|
|
6
|
+
|
|
7
|
+
**For CLI tools:** This phase still applies — polish help text formatting, output alignment, error message clarity, progress indicators, and color usage. Skip the visual/responsive sections but apply interaction and content checks.
|
|
8
|
+
|
|
9
|
+
## Step 1: First Impression
|
|
10
|
+
|
|
11
|
+
Before detailed analysis, capture your gut reaction:
|
|
12
|
+
- "The site/app communicates..."
|
|
13
|
+
- "I notice..."
|
|
14
|
+
- "First 3 things my eye goes to..."
|
|
15
|
+
- "One word description..."
|
|
16
|
+
|
|
17
|
+
## Step 2: AI Slop Detection
|
|
18
|
+
|
|
19
|
+
Check for these 10 anti-patterns that scream "AI-generated":
|
|
20
|
+
|
|
21
|
+
1. Purple gradients on white backgrounds
|
|
22
|
+
2. 3-column feature grid with icon-in-colored-circle
|
|
23
|
+
3. Centered everything (no visual hierarchy)
|
|
24
|
+
4. Uniform border-radius on all elements
|
|
25
|
+
5. Decorative blobs/shapes that serve no purpose
|
|
26
|
+
6. Emoji used as design elements (use SVG icons instead)
|
|
27
|
+
7. Colored left-border cards
|
|
28
|
+
8. Generic hero copy ("Transform your workflow...")
|
|
29
|
+
9. Cookie-cutter rhythm (same section pattern repeated)
|
|
30
|
+
10. Overused fonts (Inter, Roboto, Arial for everything)
|
|
31
|
+
|
|
32
|
+
If 3+ anti-patterns found, flag "AI slop detected" and prioritize fixing.
|
|
33
|
+
|
|
34
|
+
## Step 3: Design Audit
|
|
35
|
+
|
|
36
|
+
Check in priority order:
|
|
37
|
+
|
|
38
|
+
### Priority 1: Accessibility (CRITICAL)
|
|
39
|
+
- Color contrast >= 4.5:1 for normal text, >= 3:1 for large text
|
|
40
|
+
- All interactive elements have focus states (focus-visible)
|
|
41
|
+
- Alt text on images
|
|
42
|
+
- Keyboard navigation works
|
|
43
|
+
- Form labels present
|
|
44
|
+
- Color is not the sole indicator of state
|
|
45
|
+
|
|
46
|
+
### Priority 2: Touch & Interaction
|
|
47
|
+
- Touch targets >= 44x44px
|
|
48
|
+
- All clickable elements have `cursor-pointer`
|
|
49
|
+
- Hover states exist and provide feedback
|
|
50
|
+
- Loading states for async operations
|
|
51
|
+
- Error messages are specific and helpful
|
|
52
|
+
- Disabled states are visually distinct
|
|
53
|
+
|
|
54
|
+
### Priority 3: Layout & Responsive
|
|
55
|
+
- No horizontal scroll at any viewport
|
|
56
|
+
- Min 16px body text on mobile
|
|
57
|
+
- Consistent max-width across sections
|
|
58
|
+
- Responsive at key breakpoints (375, 768, 1024, 1440px)
|
|
59
|
+
- Images are responsive (srcset or max-width: 100%)
|
|
60
|
+
|
|
61
|
+
### Priority 4: Typography & Color
|
|
62
|
+
- Max 3 font families
|
|
63
|
+
- Consistent heading hierarchy (h1 > h2 > h3)
|
|
64
|
+
- Line height 1.4-1.6 for body text
|
|
65
|
+
- Line length 45-75 characters for readability
|
|
66
|
+
- Cohesive color palette (max 12 colors)
|
|
67
|
+
|
|
68
|
+
### Priority 5: Motion & Animation
|
|
69
|
+
- Transitions 150-300ms
|
|
70
|
+
- Meaningful easing (not linear)
|
|
71
|
+
- `prefers-reduced-motion` respected
|
|
72
|
+
- No `transition: all` (specify properties)
|
|
73
|
+
|
|
74
|
+
## Step 4: Atomic Fix-Verify Loop
|
|
75
|
+
|
|
76
|
+
For each issue found (prioritized — accessibility first):
|
|
77
|
+
|
|
78
|
+
1. **Fix one issue** in the source code
|
|
79
|
+
2. **Take before/after evidence** (screenshots if available, or describe the change)
|
|
80
|
+
3. **Commit atomically** — `git commit -m "polish: [specific fix]"`
|
|
81
|
+
4. **Move to next issue**
|
|
82
|
+
|
|
83
|
+
Rules:
|
|
84
|
+
- One fix per commit
|
|
85
|
+
- Fix from highest priority category down
|
|
86
|
+
- Don't fix everything — focus on impact
|
|
87
|
+
- 5-10 well-executed fixes > 20 rushed ones
|
|
88
|
+
|
|
89
|
+
## Step 5: Professional UI Rules
|
|
90
|
+
|
|
91
|
+
Apply these finishing touches:
|
|
92
|
+
- No emoji icons — use SVG icons (Heroicons, Lucide)
|
|
93
|
+
- Consistent spacing scale (4px/8px base)
|
|
94
|
+
- Z-index scale (10, 20, 30, 50 — not random values)
|
|
95
|
+
- Transitions on interactive elements
|
|
96
|
+
- Consistent border-radius hierarchy
|
|
97
|
+
|
|
98
|
+
## Step 6: Write Polish Report
|
|
99
|
+
|
|
100
|
+
Save a summary of fixes to `.ideabox/session/06-polish-report.md`: issues found, fixes applied, before/after descriptions.
|
|
101
|
+
|
|
102
|
+
## Step 7: Update State
|
|
103
|
+
|
|
104
|
+
Update `.ideabox/state.json`:
|
|
105
|
+
- Add "06-polish" to `phases_completed`
|
|
106
|
+
- Set `current_phase` to "07-ship"
|
|
107
|
+
- Set `artifacts.polish` to `.ideabox/session/06-polish-report.md`
|
|
108
|
+
|
|
109
|
+
## Gate Condition
|
|
110
|
+
|
|
111
|
+
Phase 06 passes when: no AI slop detected (or fixed), accessibility basics met, before/after evidence shows improvement.
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# Phase 07: Ship
|
|
2
|
+
|
|
3
|
+
Create PR, bump version, update changelog, and prepare for deployment.
|
|
4
|
+
|
|
5
|
+
## Step 1: Pre-Flight
|
|
6
|
+
|
|
7
|
+
1. **Check branch:** Verify you're NOT on main/master
|
|
8
|
+
2. **Git status:** Check for uncommitted changes — commit or stash before proceeding
|
|
9
|
+
3. **Diff stats:** `git diff --stat origin/main...HEAD` — review what's being shipped
|
|
10
|
+
|
|
11
|
+
## Step 2: Merge Base Branch
|
|
12
|
+
|
|
13
|
+
Ensure you're up to date with the base branch:
|
|
14
|
+
```bash
|
|
15
|
+
git fetch origin main && git merge origin/main --no-edit
|
|
16
|
+
```
|
|
17
|
+
If merge conflicts: resolve them, run tests, commit.
|
|
18
|
+
|
|
19
|
+
## Step 3: Run Tests
|
|
20
|
+
|
|
21
|
+
Run the full test suite one final time. ALL tests must pass.
|
|
22
|
+
|
|
23
|
+
**If tests fail:** Fix failures before shipping. Do not ship with failing tests.
|
|
24
|
+
**Evidence required:** Show the test command output with pass count.
|
|
25
|
+
|
|
26
|
+
## Step 4: Pre-Merge Review
|
|
27
|
+
|
|
28
|
+
Two-pass review of the diff:
|
|
29
|
+
|
|
30
|
+
### Pass 1 — Critical (must fix before shipping)
|
|
31
|
+
- **SQL & Data Safety:** Any raw SQL? Missing parameterization?
|
|
32
|
+
- **Race Conditions:** Shared mutable state? Missing locks?
|
|
33
|
+
- **Secret Exposure:** Any hardcoded keys, tokens, passwords?
|
|
34
|
+
- **Enum Completeness:** Switch statements missing cases?
|
|
35
|
+
|
|
36
|
+
### Pass 2 — Informational (fix if quick, note otherwise)
|
|
37
|
+
- **Magic Numbers:** Unexplained constants?
|
|
38
|
+
- **Dead Code:** Unreachable code, unused imports?
|
|
39
|
+
- **Test Gaps:** New features without tests?
|
|
40
|
+
- **Performance:** O(n^2) loops, missing indexes, large payloads?
|
|
41
|
+
|
|
42
|
+
**Rule:** Never say "probably handled elsewhere" — cite the specific line or flag as unverified.
|
|
43
|
+
|
|
44
|
+
## Step 5: Version Bump
|
|
45
|
+
|
|
46
|
+
Determine version bump type:
|
|
47
|
+
- **MICRO/PATCH** (auto-pick): bug fixes, minor improvements — no user-facing behavior change
|
|
48
|
+
- **MINOR** (ask user): new features, new commands — backwards compatible
|
|
49
|
+
- **MAJOR** (ask user): breaking changes — not backwards compatible
|
|
50
|
+
|
|
51
|
+
If `package.json` exists, bump the version. If `plugin.json` exists, sync it.
|
|
52
|
+
|
|
53
|
+
## Step 6: Changelog
|
|
54
|
+
|
|
55
|
+
Generate/update CHANGELOG.md from the diff:
|
|
56
|
+
|
|
57
|
+
- Lead with **what the user can now DO** (not technical changes)
|
|
58
|
+
- Group by: Added, Changed, Fixed, Removed
|
|
59
|
+
- One line per change, linking to relevant files
|
|
60
|
+
|
|
61
|
+
Example:
|
|
62
|
+
```markdown
|
|
63
|
+
## [1.1.0] - 2026-03-26
|
|
64
|
+
|
|
65
|
+
### Added
|
|
66
|
+
- Research phase now pulls from 6 data sources in parallel
|
|
67
|
+
- Self-improving recommendation system learns your preferences
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Step 7: Commit & Push
|
|
71
|
+
|
|
72
|
+
Stage specific files (never use `git add -A` — it can stage sensitive files like .env or credentials):
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
git add package.json CHANGELOG.md [other changed files by name]
|
|
76
|
+
git commit -m "chore: bump version to X.Y.Z and update changelog"
|
|
77
|
+
git push -u origin HEAD
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**Before staging:** Verify no `.env`, credentials, or secret files are in the diff. If found, warn the user.
|
|
81
|
+
|
|
82
|
+
## Step 8: Create PR
|
|
83
|
+
|
|
84
|
+
Create a structured pull request:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
gh pr create --title "[short descriptive title]" --body "$(cat <<'EOF'
|
|
88
|
+
## Summary
|
|
89
|
+
- [bullet points of what this PR does]
|
|
90
|
+
|
|
91
|
+
## Test Plan
|
|
92
|
+
- [ ] All tests pass
|
|
93
|
+
- [ ] Manual testing completed
|
|
94
|
+
- [ ] No console errors
|
|
95
|
+
|
|
96
|
+
## Review Checklist
|
|
97
|
+
- [ ] No hardcoded secrets
|
|
98
|
+
- [ ] No breaking changes (or documented)
|
|
99
|
+
- [ ] Tests cover new functionality
|
|
100
|
+
EOF
|
|
101
|
+
)"
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Step 9: Update State
|
|
105
|
+
|
|
106
|
+
Update `.ideabox/state.json`:
|
|
107
|
+
- Add "07-ship" to `phases_completed`
|
|
108
|
+
- Set `current_phase` to "08-post-ship"
|
|
109
|
+
- Set `artifacts.ship` to the PR URL
|
|
110
|
+
|
|
111
|
+
## Gate Condition
|
|
112
|
+
|
|
113
|
+
Phase 07 passes when: PR created, all tests pass (with evidence), version bumped, changelog updated.
|
|
114
|
+
|
|
115
|
+
## Shipping Rules
|
|
116
|
+
|
|
117
|
+
**Never stop for:** uncommitted changes (just commit them), PATCH version bump, changelog content, commit message wording.
|
|
118
|
+
|
|
119
|
+
**Always stop for:** merge conflicts, test failures, critical review findings, MINOR/MAJOR version bumps.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Phase 08: Post-Ship
|
|
2
|
+
|
|
3
|
+
Post-deployment verification and documentation sync.
|
|
4
|
+
|
|
5
|
+
**Skip canary if:** no deployment URL exists (local-only tool, library, CLI tool without hosting).
|
|
6
|
+
**Skip docs sync if:** no documentation files exist beyond README.
|
|
7
|
+
|
|
8
|
+
## Step 1: Canary Health Check (if deployed)
|
|
9
|
+
|
|
10
|
+
If the project has a deployment URL:
|
|
11
|
+
|
|
12
|
+
1. **Visit the URL** — verify it loads
|
|
13
|
+
2. **Check console** — zero new errors (compare to pre-deploy baseline if available)
|
|
14
|
+
3. **Test core flow** — walk through the primary user flow
|
|
15
|
+
4. **Check performance** — page loads in <3 seconds
|
|
16
|
+
|
|
17
|
+
**Alert levels:**
|
|
18
|
+
- CRITICAL: page doesn't load
|
|
19
|
+
- HIGH: new console errors
|
|
20
|
+
- MEDIUM: performance regression (noticeably slower)
|
|
21
|
+
- LOW: minor visual issues
|
|
22
|
+
|
|
23
|
+
**Verdict:** HEALTHY / DEGRADED / BROKEN
|
|
24
|
+
|
|
25
|
+
If BROKEN: immediately flag to user, consider reverting.
|
|
26
|
+
If DEGRADED: note issues, continue — they can be fixed in next iteration.
|
|
27
|
+
|
|
28
|
+
## Step 2: Documentation Sync
|
|
29
|
+
|
|
30
|
+
Cross-reference the git diff against all documentation files (.md files in the project):
|
|
31
|
+
|
|
32
|
+
### Auto-Update (do without asking):
|
|
33
|
+
- Fix factual inaccuracies (wrong paths, outdated counts, broken links)
|
|
34
|
+
- Update file/directory references to match current structure
|
|
35
|
+
- Mark completed TODOs as done
|
|
36
|
+
- Fix cross-references between docs
|
|
37
|
+
|
|
38
|
+
### Ask User (before changing):
|
|
39
|
+
- Narrative changes (rewriting descriptions)
|
|
40
|
+
- Removing sections
|
|
41
|
+
- Significant rewrites
|
|
42
|
+
|
|
43
|
+
### CHANGELOG Voice Polish
|
|
44
|
+
Review CHANGELOG.md entries:
|
|
45
|
+
- Lead with what the user can now DO
|
|
46
|
+
- Use active voice
|
|
47
|
+
- Be specific: "Add parallel research across 6 data sources" not "Update research module"
|
|
48
|
+
|
|
49
|
+
### Cross-Doc Consistency
|
|
50
|
+
- Feature lists match across README, CLAUDE.md, AGENTS.md?
|
|
51
|
+
- Component lists accurate?
|
|
52
|
+
- Installation instructions current?
|
|
53
|
+
- Every doc reachable from README?
|
|
54
|
+
|
|
55
|
+
## Step 3: Engineering Retrospective (Quick)
|
|
56
|
+
|
|
57
|
+
Briefly note:
|
|
58
|
+
- **What went well:** Which phases were smooth?
|
|
59
|
+
- **What was hard:** Which phases took longest or had issues?
|
|
60
|
+
- **What to improve:** For next time, what would you do differently?
|
|
61
|
+
|
|
62
|
+
Save to `.ideabox/session/08-post-ship.md`.
|
|
63
|
+
|
|
64
|
+
## Step 4: Commit Documentation Changes
|
|
65
|
+
|
|
66
|
+
Stage only the documentation files that were changed (never use `git add -A`):
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
git add README.md CHANGELOG.md CLAUDE.md AGENTS.md [other changed .md files]
|
|
70
|
+
git commit -m "docs: sync documentation with shipped changes"
|
|
71
|
+
git push
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Step 5: Update State
|
|
75
|
+
|
|
76
|
+
Update `.ideabox/state.json`:
|
|
77
|
+
- Add "08-post-ship" to `phases_completed`
|
|
78
|
+
- Set `current_phase` to "09-learn"
|
|
79
|
+
- Set `artifacts.post_ship` to `.ideabox/session/08-post-ship.md`
|
|
80
|
+
|
|
81
|
+
## Gate Condition
|
|
82
|
+
|
|
83
|
+
Phase 08 passes when: canary passes (HEALTHY or DEGRADED) or was skipped, and docs are synced.
|