OverviewIntroduction

Introduction

The internal component library for immit apps.


@immit/ui is the shared component library for the immit apps — www, desktop, and the extension. It is a workspace package, internal to this repo; it is not published. This site shows every component with a live example and its source, and the Design Tokens page renders the shared palette straight from the code.

The components track the shadcn registry as a base and extend it with immit's semantic tokens and variants — same anatomy, our design system on top. Where a slot deliberately diverges from registry semantics (secondary), the tokens page records it.

Usage

Import each component from its own path:

import { Button } from '@immit/ui/button'

Rules

  1. Check this library first. Before you write new UI, look for a component that matches the concept. If one exists, use it.
  2. Need a different look? Add a variant, not a new component. Components expose cva variants. If no variant fits, add one here so every app gains it.
  3. App-local components compose these parts. A feature component in apps/* reads as an arrangement of @immit/ui parts plus domain logic. Bespoke Tailwind is for layout between components only.