# 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.
