Design-system-first frontend framework
The design system is the framework.
Tokens, accessibility, variants and docs are built in and enforced at compile time. Your AI tools ask the compiler before they write.
The tessera preset, the default, gives you a small design system with light and dark themes. The docs use the same tokens.
One command builds a documentation app from your contracts and tokens: a page for every component and token, styled by the same tokens as your app. Nothing in it is written by hand.
The contract is the component
Anatomy, variants, states and accessibility, declared once and checked at every use.
Styles come from tokens
An off-scale value is a build error with the nearest token suggested.
A way in for existing code
A baseline lets an existing app turn enforcement on with zero errors.
Changes you can see coming
tessera diff says which changes break people. tessera codemod applies renames.
Accessibility you can run
tessera a11y generates axe-core tests from each contract, for every variant, state and theme.
Light to write
Single-file components, signals, auto-imports, file-based routing.
The same system in any framework.
Not every team will write .tess files. Two commands bring the system to a project that does not: one checks its CSS against your tokens, the other builds your components as custom elements that any framework can use.
Run it in any project's folder, with your design tokens as DTCG files. It reads CSS files and the style blocks of .vue, .svelte, .astro and .html, and finds raw colors, off-scale values, wrong token kinds and failing contrast, in every theme. --fix applies the unambiguous ones; --baseline lets an existing project start at zero.
Each component, with its tokens, themes and accessibility, built into a folder with no dependency on Tessera. React wrappers and types included. The tessera preset is 11 elements in about 9 kB of JavaScript and 3 kB of CSS, gzipped.
Build them once in your design system's project, then load the folder in the app. They are plain HTML tags (React also gets wrappers), so each framework only needs to be told those tags are not its own.
One install, thirteen packages.
Select a package to see what it does and how it connects.
A pure function from a .tess file to a TypeScript module, scoped CSS and a list of diagnostics.
Docs that cannot drift.
tessera docs runs a documentation app generated from the same contracts and tokens the compiler enforces. Nothing in it is written by hand.
Tokens move in and out as files.
Between DTCG and the shapes design tools write, without flattening aliases or losing a theme.
The importers are tested against files written to each format's documentation. Real exports from Figma, Tokens Studio and Penpot are next on the roadmap.
Tell the tool the truth before it writes.
Tools guess: a button that does not exist, a padding of 13px. Tessera rejects those at compile time and lets the tool ask first.
Every component, token, route and rule in one file.
npx tessera manifestFind components, resolve raw values to tokens, validate snippets.
npx tessera mcpGenerated for tools that cannot run an MCP server.
npx tessera agent-files