CLI previewInstall commands shown on this site are not released yet.
Typeset

Typography is part of the contract.

Use the same tokens for interface text, code and documentation. The surface can change without losing the reading rhythm.

A heading that holds the line

Grassroot keeps display type compact and body copy readable. The default sans stack is deliberately unopinionated, so a product can bring its own font without fighting a library reset.

Running text

Components should not decide whether an app feels warm, cold, playful or strict. That decision belongs to the theme file and the typography layer around it.

Code stays code

Use font-mono for commands, prop names and source paths. Give it enough line height to scan, then let the surrounding prose carry the explanation.

const theme = {
  canvas: "var(--surface-canvas)",
  accent: "var(--accent)",
};