Skip to content

docs: make the UI component approach an explicit Day-1 decision - #15

Merged
DeyangChan merged 1 commit into
mainfrom
docs/ui-component-approach
Aug 5, 2026
Merged

docs: make the UI component approach an explicit Day-1 decision#15
DeyangChan merged 1 commit into
mainfrom
docs/ui-component-approach

Conversation

@DeyangChan

Copy link
Copy Markdown
Contributor

What

The contracts assumed a headless UI foundation and all five stack packs pinned Radix, so the choice between headless primitives, a copy-in component set, and a styled kit was never put to the user. This makes it an explicit Day-1 decision and follows the consequences through the guide and the packs.

  • apps/frontend/CLAUDE.md — new UI component approach section: ask before the first screen or component is built, record the answer under Learnings, and decide on how far the project's design guide sits from a kit's defaults. Four lines that presupposed a headless library (Component structure, Accessibility baseline, Interaction feedback, Coding standards) now defer to it.
  • Design guide hydration — the guide is filled in per project rather than shipping foundations-only. Its Components & reuse chapter said components were "deliberately absent"; it now carries the hydration rules and an empty Specimens section. New Hydrating the design guide subsection defines the two moves and requires opening the rendered page for the user after either one.
  • Stack packsvercel-csr, vercel-ssr, mern, django, enterprise name Radix as their default instead of pinning it. vercel-ssr and enterprise additionally reject a styled kit built on runtime CSS-in-JS, which would pull the token boundary into a Client Component.
  • Day-1 step 6 — sequences the decision, the token rebrand, the guide reconciliation, and the browser review. Folded into the existing step rather than added as a new one, to avoid renumbering.

Notes

No new abstraction, dependency, or config key. Docs and one HTML file only.

Precedence: the packs previously bound Radix as a plain binding line, which would have overridden the new decision for an adopting project. They now express it as a default, so the base decision governs and a styled kit is recorded as a deviation.

Test plan

  • Template-integrity checks run locally against the working tree — whitespace invariants, relative-link resolution, pack required-files/precedence/conflict-register contract, add-on READMEs: 0 problems.
  • design-guide.html parsed for tag balance after editing: no unbalanced or mismatched tags.
  • Guide opened in a browser and the changed Components & reuse chapter reviewed as a rendered page.

Known issue, not fixed here

Root CLAUDE.md:158 refers to "Day-1 step 11", but the checklist has 9 steps and Protect main is step 9. Pre-existing; this change does not shift step numbering.

🤖 Generated with Claude Code

The contracts assumed a headless foundation and every stack pack pinned
Radix, so the choice between headless primitives, a copy-in component set,
and a styled kit was never actually put to the user.

- apps/frontend/CLAUDE.md gains a UI component approach section: ask before
  the first screen or component is built, record the answer under Learnings,
  and decide on how far the project's design guide sits from a kit's
  defaults. Four lines that presupposed a headless library now defer to it.
- The design guide is hydrated per project rather than foundations-only. Its
  Components & reuse chapter said components were "deliberately absent"; it
  now carries the hydration rules and an empty Specimens section for the
  project to fill.
- The five stack packs name Radix as their default instead of pinning it.
  vercel-ssr and enterprise additionally reject a styled kit built on runtime
  CSS-in-JS, which would pull the token boundary into a Client Component.
- Day-1 step 6 sequences the decision, the token rebrand, the guide
  reconciliation, and opening the rendered guide for the user to review.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@DeyangChan
DeyangChan merged commit 3c4ba21 into main Aug 5, 2026
1 check passed
@DeyangChan
DeyangChan deleted the docs/ui-component-approach branch August 5, 2026 03:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant