tesserai

Your project's design system for coding agents: tokens, components, contrast checks, guidelines.

OtherTypeScriptv0.2.2

tesserai

Your design system, in your repo, followed by your coding agent.

tesserai turns your site's look (its colors, type and corners) into a design system. You see it on real screens, checked against WCAG and Apple's and Material's guidelines. Then one command installs it into your project as components you own. This repository is the part that runs in your project: the token engine, the component templates, and the CLI with its MCP server. It's MIT licensed.

npx @tesserai/cli init https://tesserai.design/s/<your-share-link>

React (Base UI, Radix or React Aria), Vue (Reka UI) and Svelte 5 (Bits UI, both in beta) components, a Tailwind CSS 4 theme, and W3C DTCG tokens. Exports for SwiftUI, Jetpack Compose, Flutter, SCSS, MUI, Mantine, Chakra, Panda and StyleX.

For coding agents

init registers the MCP server for Claude Code and Cursor. The agent reads the system's tokens, components, contrast checks and design guidelines, and changes the system rather than hand-styling a screen. To add it yourself:

claude mcp add tesserai -- npx -y @tesserai/cli mcp

Add to Cursor Install in VS Code

Installed from an editor, the server asks the editor which folder it has open and serves that project. This repository is also a Claude Code and Cursor plugin, with a skill that tells the agent how to use the system, and npx skills add tesseraihq/tesserai adds the skill to other agents.

ToolWhat it does
outlineThe whole system in brief: palettes, meanings, type, spacing, radius, every component and its options
component_guide, example_pageHow to use a component, and whole forms and pages written with the components
get_tokens, get_component, explain, usageRead tokens and components, follow a token to its value, see what depends on it
check_contrast, guidelinesFailing color pairs with fixes; the design guidelines themselves
list_operations, describe_operation, apply_changesChange the system (colors, type, spacing, a component's look) and regenerate
scanHow the app uses the system: uses, overrides, never-used components and options, hard-coded values
sync, import_design_system, list_overrides, upload_scanPull the latest design; bring an existing look in; what's been customised; keep a scan with the system

Commands

CommandWhat it does
init <link or bundle>Install a system into the project
sync [link or bundle]Pull the latest version and regenerate, keeping files you changed
scanHow the app uses its system, and what to change in it (--fix replaces exact matches)
importBring the project's existing look in, from its stylesheets, token files and Tailwind config
doctorCheck the project, the system and the link it follows
export <format>The system for another stack
storybookA Storybook with a story per component, light and dark, with accessibility checks
mcpServe the system to coding agents over stdio

Full reference: tesserai.design/docs.

In this repository

PackageWhat
packages/coreThe design-system model, OKLCH color scales, generators, operations, contrast and guideline checks, emitters
packages/templatesEvery component, once per library
packages/cli@tesserai/cli on npm, and the MCP server
packages/vue-fixture, packages/svelte-fixtureProjects that compile every generated component, to prove the templates

The builder at tesserai.design (the editor, AI editing, sharing, teams) is a separate, hosted product. You don't need it to use what's here with a system you already have, and a system you install keeps working if you stop using it.

Contributing

See CONTRIBUTING.md. In short: pnpm install && pnpm build && pnpm verify.

License

MIT. The components and CSS the CLI writes into your project are yours. The tesserai name and logo are covered by TRADEMARK.md.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @tesserai/cli

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "design-tesserai-tesserai": {
      "command": "npx",
      "args": [
        "-y",
        "@tesserai/cli"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@tesserai/clinpm

Compatible MCP Clients

tesserai works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More