Skip to main content
Reuse before you write. A second copy of any component below is a review finding. Most live in src/shared/components/.

Rules that apply to all of them

  • A block holds no rights logic. The page decides what to pass, for example the action of an EmptyState, and the block renders it.
  • Row actions appear on hover and on keyboard focus, so a person without a mouse reaches them. The lint check hover-actions reports a hand-built reveal.
  • Primitives from the shadcn registry live in src/components/ui/. A feature never redefines one. The class strings of an installed component may set tokens and roles, and its structure and behaviour stay as the registry has them.
  • Feature code never imports another feature. Code used by two features moves to src/shared/ or src/core/.

Sign-in page

The sign-in page has two designs: a centred card on the mesh gradient (ui-mesh) and a two-column split with a wallpaper. Both read the same tokens and the same form.
Last modified on November 4, 2026