Revenue
$48.2k

Design systems · new in 0.10.0
Describe a brand once, as one JSON document, and every Texuli surface follows it: components, layouts, dashboards, decks, documents, email, PDF, DOCX, PPTX, canvas exports and the Kotlin twin. The document is data only, so an agent can write one without emitting CSS or script, and the compiler enforces contrast, focus and target-size guarantees instead of reporting them.
Explore the Design Systems Solution
Status:Design systems shipped in 0.10.0 and are on npm in the 0.18 line (texuli@^0.18.0 and @texuli/tokens@^0.18.0), a pre-1.0 release: under 0.x a new minor may contain breaking changes. Earlier lines have the theme engine and token contract v2, but not the design-system document, its compiler or the texuli ds commands.
A closed JSON document (format: "texuli/design-system"): identity, then optional sections for color, typography, shape, space, elevation, surface, motion, layout, icons, component defaults, assets, voice, accessibility targets and variants. Lengths are numbers, colors are values, and nothing is raw CSS. The smallest valid document is a brand color:
{
"format": "texuli/design-system",
"formatVersion": 1,
"id": "harborline",
"version": "1.0.0",
"name": "Harborline",
"color": { "brand": { "seed": "#0e7490" } }
}--tx-* variables per mode. Text pairs meet the declared target (AA 4.5:1 or AAA 7:1), the focus ring 3:1 at 2 px or wider, and controls the declared target size; the compiler refuses only what pinned colors make impossible.DesignSystemProvider or applyDesignSystem on any element, designSystemStyle for server HTML, and emitters for CSS, a Tailwind preset, DTCG, Tokens Studio, email, PDF, DOCX, PPTX, canvas and Kotlin tokens.Three fictional brands from the repository's examples/design-systems folder, compiled when this page was built and applied through DesignSystemProvider. Each surface below is the same markup and the same content; only the design system changes. The previews show light mode, and they ship no JavaScript.
A literary magazine: warm paper neutrals, a terracotta seed, a serif body.
A brand seed with a warm neutral, type families and roles, flat surfaces, outline buttons by default.
The document for Quillmark · texuli://design-system/quillmark
A finance back office: dense spacing, 14 px base type, crisp edges.
extends: "texuli:slate-masthead", small buttons by default, a high-contrast variant held to AAA.
The document for Ledgerline · texuli://design-system/ledgerline
A family game studio: 20 px radius, pill buttons, expressive motion.
The brand pink pinned exactly, 44 px targets (control heights lifted), a glow focus ring.
The document for Tumbletown · texuli://design-system/tumbletown
Brand fonts are named in each document but not loaded on this site, so each preview falls back along its font stack.
Stat cards, a bar chart on the chart palette and a table: density, radius, elevation and type scale all move with the brand.
Revenue
$48.2k
Orders
1,284
| Region | Orders | Change |
|---|---|---|
| East | 512 | +9% |
| West | 431 | +15% |
| South | 341 | +11% |
Revenue
$48.2k
Orders
1,284
| Region | Orders | Change |
|---|---|---|
| East | 512 | +9% |
| West | 431 | +15% |
| South | 341 | +11% |
Revenue
$48.2k
Orders
1,284
| Region | Orders | Change |
|---|---|---|
| East | 512 | +9% |
| West | 431 | +15% |
| South | 341 | +11% |
A title slide on the brand fill, with the on-fill text color the compiler holds to the contrast target.
Title, lead, list, quote, callout and badges, set in the type roles of each brand.
Release notes, week 44
Type roles, spacing and colors all come from the design system.
Best week of the quarter, and the calmest on-call yet.
Heads up
Two products are low on stock.
Release notes, week 44
Type roles, spacing and colors all come from the design system.
Best week of the quarter, and the calmest on-call yet.
Heads up
Two products are low on stock.
Release notes, week 44
Type roles, spacing and colors all come from the design system.
Best week of the quarter, and the calmest on-call yet.
Heads up
Two products are low on stock.
An email composition; the real email HTML comes from @texuli/tools/email with the same design system.
Harbor Supply
Harbor weekly digest
Orders grew 12% over last week.
$48.2k revenue
1,284 orders
You get this digest weekly. Fictional data, example.com.
Harbor Supply
Harbor weekly digest
Orders grew 12% over last week.
$48.2k revenue
1,284 orders
You get this digest weekly. Fictional data, example.com.
Harbor Supply
Harbor weekly digest
Orders grew 12% over last week.
$48.2k revenue
1,284 orders
You get this digest weekly. Fictional data, example.com.
Every number below is read from the compiler's report when this page was built, through checkDesignSystem: the static half of texuli ds check (the spec's validation, the extends chain, the compile of the document and of its high-contrast variant, then the guarantees checked again over the compiled variables).
| Brand and run | Target | Light pairs | Dark pairs | Tightest text pair (light) | Control heights | Solver moves | Result |
|---|---|---|---|---|---|---|---|
| Quillmark, Base | AA, 24 px targets | 74 of 74 | 74 of 74 | 4.98:1 (needs 4.5:1) | 4 of 4 | 0 | Passes |
| Ledgerline, Base | AA, 24 px targets | 74 of 74 | 74 of 74 | 5.06:1 (needs 4.5:1) | 4 of 4 | 0 | Passes |
| Ledgerline, high-contrast variant | AAA, 24 px targets | 74 of 74 | 74 of 74 | 7.09:1 (needs 7:1) | 4 of 4 | 0 | Passes |
| Tumbletown, Base | AA, 44 px targets | 74 of 74 | 74 of 74 | 4.61:1 (needs 4.5:1) | 4 of 4 | 7 | Passes |
Pairs are text on every surface role (4.5:1 at AA, 7:1 at AAA), strong borders and inputs (3:1), and the focus ring against the page and the surface (3:1). Control heights are the control sizes held to the brand's target size. A solver move is a color or a size the compiler changed to meet a guarantee, per mode: Tumbletown's are its control heights lifted to its 44 px target and the text color on its pinned pink in dark mode.
Run the same check on a brand, or on your own document:
texuli ds check examples/design-systems/quillmark.json
texuli ds check examples/design-systems/ledgerline.json
texuli ds check examples/design-systems/tumbletown.json--render also paints every agent-emittable catalog component under the design system in headless Chromium and checks axe, the painted contrast of every pair and colors that ignore the design system; CI runs it on these three brands. Details: texuli ds check.
Start from a seed color, a logo, a library theme or a DTCG or Tokens Studio file; edit every section; preview five surfaces; read the contrast report and the diff; export every format; share the document in a link. Nothing leaves the page.
Eight commands in @texuli/tools: init, validate, compile, preview, diff, import, export and check. Exit 0 when valid, 1 when refused.
texuli ds init brand.ds.json --name Harborline # a starter document
texuli ds validate brand.ds.json # stable codes and JSON paths
texuli ds compile brand.ds.json --format css --out dist/brand.css
texuli ds preview brand.ds.json --format svg --out review/brand.svg
texuli ds diff brand.ds.json next.ds.json # changed variables, contrast regressions
texuli ds import tokens/brand.tokens.json --from dtcg --out imported.ds.json
texuli ds export brand.ds.json --format dtcg --out tokens/brand.tokens.json
texuli ds check brand.ds.json --render # the conformance checkThe same operations as MCP tools, on the local server (npx -y @texuli/mcp) and the remote one at https://texuli.com/mcp:
blueprint.theme: Apply a design system to a blueprintds.validate: Validate a design systemds.compile: Compile a design systemds.contrast: Report design-system contrastds.suggest: Suggest a design systemds.import: Import a design systemds.generate: Generate a design-system draftds.allow: List allowed components for a locked design systemds.bundle: Pack or unpack a portable design-system bundleds.diff: Diff two design systemsds.preview: Preview a design systemds.save: Save a design system to a file (local only)The prompt create-design-system walks an agent from a brief to a validated document.
The resource texuli://design-system/{id} serves the example brands and every library theme as a document.
Authoring by hand or from tokens you already have, the validation codes, compile and apply, patches and variants, versioning, distribution, migrating from themes, the guarantees and every output.
Generate a draft from brand inputs, review it in the kit, approve it in a commit, lock prototypes to the allowed set and share it as a versioned bundle.