|
| 1 | +# Plan: Every Component to 110/110 |
| 2 | + |
| 3 | +## Current State (2026-04-05) |
| 4 | + |
| 5 | +| Category | Count | Description | |
| 6 | +|----------|-------|-------------| |
| 7 | +| Full pattern | 22 | Premium import, 5 framework tabs, tier cards, motion control | |
| 8 | +| Partial | 105 | Some elements present, various gaps | |
| 9 | +| Stubs | 25 | < 400 lines, minimal content, no framework tabs | |
| 10 | +| **Total** | **152** | | |
| 11 | + |
| 12 | +## Scoring Rubric (11 categories × 10 points = 110) |
| 13 | + |
| 14 | +1. **Source quality** — No bugs, clean types, proper CSS architecture |
| 15 | +2. **Lite tier** — Exists, works, visually distinct from standard |
| 16 | +3. **Premium tier** — Exists, imported in demo, visually distinct (not "= Standard") |
| 17 | +4. **Demo playground** — Controls for ALL documented props including motion |
| 18 | +5. **Props accuracy** — PropsTable matches source interface exactly (auto-verified by check-prop-drift.ts) |
| 19 | +6. **Code generators** — ALL 5 tabs (React/HTML/Vue/Angular/Svelte) pass ALL playground-controlled props |
| 20 | +7. **Accessibility** — Complete WCAG coverage, proper ARIA, keyboard nav |
| 21 | +8. **Visual design** — Aurora Fluid aesthetic, proper tier differentiation |
| 22 | +9. **Responsive** — Container queries + media queries, mobile-friendly |
| 23 | +10. **Performance** — Accurate bundle sizes, no memory leaks |
| 24 | +11. **DX** — Clear docs, no misleading content, correct source links |
| 25 | + |
| 26 | +## GitHub Issues to Address |
| 27 | + |
| 28 | +### Issue #14: Page Layout Primitives |
| 29 | +Create 8 composition components: PageHeader, StatsGrid, Toolbar, CardGrid, ListLayout, SectionHeader, EmptyState, PageShell. These are NEW components, not fixes. |
| 30 | + |
| 31 | +### Issue #15: CSS Import DX |
| 32 | +4 changes needed: |
| 33 | +1. UIProvider runtime warning when styles not loaded |
| 34 | +2. MCP responses include CSS import instructions |
| 35 | +3. README setup section more prominent |
| 36 | +4. CLI `init` command auto-adds CSS imports |
| 37 | + |
| 38 | +## Systematic Execution Plan |
| 39 | + |
| 40 | +### Phase 0: Infrastructure (enables all other phases) |
| 41 | +**Goal**: Build automated tooling so fixes are systematic, not ad-hoc. |
| 42 | + |
| 43 | +Tasks: |
| 44 | +- [ ] P0-1: Create `scripts/audit-page.ts` — automated page auditor that scores any demo page against the 11 rubric categories and outputs specific issues |
| 45 | +- [ ] P0-2: Create `scripts/fix-props-drift.ts` — auto-generates PropsTable entries from component-meta.json |
| 46 | +- [ ] P0-3: Create `scripts/generate-premium.ts` — template-based premium component generator |
| 47 | +- [ ] P0-4: Create `scripts/upgrade-stub-page.ts` — converts stub pages to full pattern pages using the ButtonPage template |
| 48 | + |
| 49 | +### Phase 1: Fix 22 Full Pattern Pages to 110/110 |
| 50 | +**Goal**: Get the best pages to perfect scores first. |
| 51 | + |
| 52 | +These pages already have the structure — they just need targeted fixes: |
| 53 | +- Missing premium imports in some |
| 54 | +- Code generators missing props |
| 55 | +- PropsTable drift |
| 56 | +- A11y gaps |
| 57 | + |
| 58 | +Batch approach: |
| 59 | +- [ ] P1-1: Run `check-prop-drift.ts` on all 22 pages, auto-fix PropsTable entries |
| 60 | +- [ ] P1-2: Ensure all 22 pages import and render REAL premium components (not "= Standard") |
| 61 | +- [ ] P1-3: Add motion control to all 22 playgrounds |
| 62 | +- [ ] P1-4: Fix all 5 code generators to pass ALL playground-controlled props |
| 63 | +- [ ] P1-5: Run axe audit on all 22 component sources, fix critical a11y issues |
| 64 | +- [ ] P1-6: Verify source links point to `main` branch (not `v2`) |
| 65 | + |
| 66 | +### Phase 2: Upgrade 105 Partial Pages |
| 67 | +**Goal**: Fill gaps in partial pages to match the full pattern. |
| 68 | + |
| 69 | +Group by gap type: |
| 70 | +- [ ] P2-1: Pages missing premium import (create premium component if needed, add import) |
| 71 | +- [ ] P2-2: Pages missing motion control in playground |
| 72 | +- [ ] P2-3: Pages missing Vue/Angular/Svelte code generators |
| 73 | +- [ ] P2-4: Pages with incomplete tier cards |
| 74 | + |
| 75 | +### Phase 3: Convert 25 Stub Pages |
| 76 | +**Goal**: Replace stubs with full pattern pages. |
| 77 | + |
| 78 | +Stubs to convert (alphabetical): |
| 79 | +ActionIcon, Affix, AvatarUpload, BackToTop, ButtonGroup, Calendar, Carousel, Chip, ConfirmDialog, CopyButton, DateRangePicker, MultiSelect, NativeTooltip, NumberInput, PasswordInput, PinInput, SegmentedControl, Spoiler, Spotlight, Stepper, TableOfContents, Textarea, Timeline, TimePicker, Tour |
| 80 | + |
| 81 | +### Phase 4: Issue #15 — CSS Import DX |
| 82 | +- [ ] P4-1: UIProvider runtime warning |
| 83 | +- [ ] P4-2: MCP CSS import instructions |
| 84 | +- [ ] P4-3: README setup section |
| 85 | +- [ ] P4-4: CLI `init` auto-import |
| 86 | + |
| 87 | +### Phase 5: Issue #14 — Layout Primitives |
| 88 | +- [ ] P5-1: Design layout component APIs |
| 89 | +- [ ] P5-2: Implement PageHeader, PageShell, SectionHeader |
| 90 | +- [ ] P5-3: Implement StatsGrid, CardGrid, ListLayout |
| 91 | +- [ ] P5-4: Implement Toolbar, EmptyState |
| 92 | +- [ ] P5-5: Create demo pages for all 8 layout components |
| 93 | + |
| 94 | +## Execution Rules |
| 95 | + |
| 96 | +1. **One phase at a time** — complete Phase N before starting Phase N+1 |
| 97 | +2. **Batch by 4** — process 4 components per agent run for parallelism |
| 98 | +3. **Test after every batch** — `npx tsc --noEmit` + `npx vitest run` must pass |
| 99 | +4. **Commit after every batch** — small, atomic commits with audit scores in message |
| 100 | +5. **No shortcuts** — every premium component must have real visual differences (not just a wrapper with no CSS) |
| 101 | +6. **Auto-verify** — run `check-prop-drift.ts` after every batch to confirm zero drift |
| 102 | +7. **Resumable** — each task has a clear completion criteria and can be picked up in a new session |
| 103 | + |
| 104 | +## Session Management |
| 105 | + |
| 106 | +Each session should: |
| 107 | +1. Read this plan |
| 108 | +2. Check task list for next uncompleted task |
| 109 | +3. Work on that task |
| 110 | +4. Commit and push |
| 111 | +5. Update task status |
| 112 | +6. Note any blockers or scope changes |
0 commit comments