Skip to main content
NetScriptdocs Search docs ⌘K v0.0.9
Browse documentation
View as Markdown

Design system

How to design a Fresh UI theme that matches the quality of the reference themes and works with the NetScript framework.

The guidelines have two readers:

  • a designer creating or extending a theme;
  • an AI agent working from a SKILL.md and DESIGN.md pair.

The guidelines define the token contract every theme follows (§1 to §3), the method for designing and checking a theme (§4 and §5), the existing themes (§6), and the steps for adding and shipping a new one (§7 and §8).

Status: token names are provisional. The role names below are the current Figma contract. The tokens build (#2414) turns them into DTCG 2025.10 tokens with resolver modes. The component anatomy spec (#2416) freezes anatomy and data-attribute variants. Until both land, treat names as stable and values as owned by Figma. Do not invent new core role names.

NetScript default Studio · Utility neutral × ink

1. Two rules that override everything

  1. Figma owns values; code owns names. A theme changes the values of existing roles, tiers and modes. It never renames a core role or introduces a new core role on its own. New namespaced roles come only through a style's role manifest (§2.4). CI rejects exported token names that code does not know.
  2. A theme is a language, not a palette. Recolouring and re-rounding the default UI is not a theme. A theme language is a style: it owns a depth model, a shape language, a type system and its own version of every component, each traceable to a documented reference (§2.4).

Theme catalogue

11 languages · 7 Studio flavors · light and dark

More Studio flavors

One component anatomy, seven product personalities. Explore Studio.

Read the complete guidelines · Create your own theme · Fresh UI API reference

Search all documentation

Type a term to search the documentation.