Scaffold a React monorepo — tokens, components, forms, auth, charts — with the AI context (AGENTS.md, a component manifest, an MCP server) built in.
npx create-cassa-ui@latest my-appEvery scaffold ships the context your assistant needs to use these components — no hallucinated imports, props, or variants.
AGENTS.mdThe conventions your editor reads on open — token classes only, dark mode is automatic, ‘use client’ boundaries, the trigger-is-a-button rule.
component-manifest.jsonEvery export’s exact import path, prop types, CVA variants, and a working example — generated from the types, regenerated on install. The AI stops inventing props.
MCP serverlist_components · get_component · get_tokens · conventions — live tools in Cursor / Claude Code. Opt in at scaffold time or with npm run mcp.
check_usageThe AI lints its own snippet against the conventions — nested buttons, non-token colours, missing ‘use client’ — before the code lands.
Five principles behind every design decision.
Every color, spacing, and radius comes from @cassa/tokens. Change a token and it propagates to every component, light mode, and dark mode instantly.
Column keys check against your data shape. Form names check against your Zod schema. TypeScript catches mismatches before they reach users.
Auth components accept any onSubmit handler. Wire them to next-auth, Clerk, a custom JWT, or your own backend — the UI stays yours.
Every package is a separate workspace with its own dependency graph. Consume only what you need — and edit any package in place, no publish step.
Overlays use the native dialog element and the Popover API; tabs and menus follow WAI-ARIA. Accessible and lightweight — no Radix, one small positioning dependency.
Imports flow down. Packages never import from apps. Teams stay independent.
@cassa/tokens@cassa/typescript-config@cassa/eslint-config@cassa/utils@cassa/hooks@cassa/types@cassa/api-client@cassa/ui@cassa/ui-forms@cassa/ui-layout@cassa/ui-overlay@cassa/ui-data@cassa/auth-ui@cassa/notificationsapps/webapps/docsEach package is modular, typed, and directly importable.
@cassa/tokensFoundationCSS variables, JS exports, and a Tailwind v4 @theme compiled from a single source of truth.
@cassa/uiUIButton, Badge, Card, Heading, Text, Separator — token-driven primitives.
@cassa/ui-formsUIInput, Textarea, Select, Checkbox, Switch, FormField — React Hook Form + Zod.
@cassa/ui-layoutUIStack, Grid, Container, Sidebar — structural layout primitives.
@cassa/ui-overlayUIDialog, Drawer, Popover, DropdownMenu, Tooltip, Tabs — built on the native dialog element and the Popover API.
@cassa/ui-dataUISortable Table with search and pagination. LineChart and BarChart with token colors.
@cassa/auth-uiFeatureLoginForm, SignupForm, ForgotPasswordForm, AuthGuard — bring your own auth logic.
@cassa/notificationsFeatureToast system — 4 variants, auto-dismiss, persistent mode, queue management.
@cassa/api-clientCoreTyped fetch wrapper with TanStack Query, token injection, and structured error handling.
@cassa/hooksCoreuseDebounce, useLocalStorage, useMediaQuery, useControllableState, and more.
@cassa/utilsCorecn(), formatCurrency(), formatDate(), truncate(), slugify() and other helpers.
Scaffold a new project in seconds. Everything configured and ready to go.
npx create-cassa-ui@latest my-app