Design system
Sangria
The primitives here are the app's own files, imported rather than rebuilt. If a component renders wrong on this page, it renders wrong in the product.
Tokens
Semantic colour, type scale, and the workspace themes.
Components
All 25 primitives plus NativeSelect, every variant and state.
Patterns
Sidebar, message row, composer — replicas of how primitives compose.
States
Rest, hover, selected and focus matrices across themes and modes.
Wireframes
Whole screens at mobile and desktop widths.
How this stays true
The app owns the code; this repo holds a copy so it can build on its own. Copies rot, so bun run check:sync compares every copied primitive, the theme file, the accent helpers, NativeSelect, the Tailwind config and the token layer against a sangria checkout and fails on any difference. Design changes are made here first, then ported back and re-copied.