25 lines
968 B
Markdown
25 lines
968 B
Markdown
# ADR-005: Atomic Design for UI Components
|
|
|
|
## Status: Accepted
|
|
|
|
## Context
|
|
|
|
Need a scalable component architecture for the shared UI package.
|
|
|
|
## Decision
|
|
|
|
Atomic Design (atoms/molecules/organisms/templates) + shadcn/ui + Storybook.
|
|
|
|
## Rationale
|
|
|
|
- Clear hierarchy makes agents know exactly where to place new components
|
|
- Import rules enforce composition direction (atoms never import molecules)
|
|
- Co-located stories make components self-documenting
|
|
- shadcn/ui provides excellent base atoms that map naturally to atomic levels
|
|
- Storybook sidebar mirrors the hierarchy via story titles
|
|
- Pages live in apps (not UI package) — they connect to real data
|
|
|
|
## Update (2026-05-04)
|
|
|
|
Atomic Design now applies to `@repo/core-ui/` only — generic primitives (atoms, molecules, generic organisms, templates). Feature-specific components (e.g., `ArticleCard`, `HeaderNavMenu`) live in the owning feature's `ui/` folder per the vertical-feature architecture. See ADR-006.
|