Skip to content

guide

Set up a design system in an hour

The order we use for tokens, components and templates on a new site.

This is the order we use on a new site. Work from the top and stop when the site looks right. You can do all of it under Design in the admin, or by editing content/design/tokens.json if you prefer a text editor.

1. Colours: 10 minutes

Add colours by role: background, surface, foreground, muted, line, and one or two brand colours. Set a dark value for each while you are there. The preview next to the list shows your real site in light and dark.

2. Type: 10 minutes

Import one family under Fonts. It is copied to your site, so visitors never contact a font service. Point the font token at it, then set a scale of six or seven sizes. Give the larger sizes a minimum and a maximum so that they scale with the screen.

3. Space and shape: 5 minutes

Set a small spacing scale, a page gutter and one token for the padding of a section. Pick a radius or two. Consistency matters here more than the exact values.

4. Element styles: 10 minutes

Under Elements, style headings, paragraphs, links, inputs and tables. Under Buttons, define your variants. A variant you add here appears in the block's picker for every editor.

Styles in this layer are defaults, so a block's own style always wins.

Create them as components. Use a Repeat block over your menu, so that editors change the navigation in Navigation and never touch the design. Add the header and footer to a page template.

6. A section heading and a card: 10 minutes

Build each once on a page, then save it as a component and add properties for what changes: the title, the image, the link. Editors fill in the properties and the design stays as you made it.

What to skip

Don't build a component until you have needed the same thing twice. Don't add a token for a value you have only used once. A small system that gets used beats a large one that doesn't.

When you are done

Everything you just made is text. Commit it, and you have a starting point for your next site as well. The blog post on starting with tokens explains why this order saves time.