# For developers

> Tokens as CSS or Tailwind, the component bundle, types and APIs.

## Start here

1. **Tokens first.** Load [tokens.css](/design/lib/tokens.css) and set `data-theme` on `<html>`. With Tailwind v4, add the [@theme file](/design/tokens/tokens.tailwind.css) and use `bg-primary`, `text-muted-foreground`, `rounded-lg`.
2. **Components.** In Crew OS and Max, import from the file each component page names. Anywhere else, load the bundle and use `window.DigitalCrew`: see [Build with it](/design/develop).
3. **Types.** [index.d.ts](/design/lib/index.d.ts) documents every export with its props, and the data types the props use.

## Your toolkit

- [Downloads & tokens](/design/resources): CSS variables, Tailwind theme, DTCG JSON, source JSON.
- [Build with it](/design/develop): the CDN snippet, themes and providers.
- [Components](/design/components): each page has **Facts** (source, import, global), **API** and **Code**.
- [Known gaps](/design/known-gaps): what is stubbed in the bundle and what the apps do differently.

## Rules to build by

- Use token names, never raw values. The primary colour is chosen by each workspace.
- Wrap an app once in `TooltipProvider` and `ConfirmDialogProvider`, and mount one `Toaster`.
- Confirm destructive actions through `useConfirm()`, never `window.confirm`.
- Respect `prefers-reduced-motion`; use the motion tokens instead of ad-hoc durations.
- Keep strings translation-safe: text that changes sits in its own element.
