Theme pack

A theme pack bundles color tokens, typography stack, spacing scale, and radius tokens into one installable unit. Themes are the broadest-reach designer asset — installing a single theme pack restyles every widget across an entire build.

What you ship

my-theme/
├── manifest.json
├── tokens/
│   ├── color.json        # OKLCH color scale
│   ├── type.json         # font stacks + sizes + weights
│   ├── space.json        # spacing scale
│   └── radius.json       # border-radius scale
├── preview/
│   └── hero.png          # 1200x630 hero preview
└── README.md

Key contracts

Scaffold

vincia create theme-pack my-theme
cd my-theme
vincia preview         # opens preview server
vincia publish --dry-run

Approval gates

The marketplace gate runs:

1. Token parse — every JSON file in tokens/ must parse + match the schema in @vincia/sdk-types. 2. Contrast — body text on every surface variant must meet WCAG AA (4.5:1). 3. Dark-mode derivation — the OKLCH transform must produce a usable dark variant without clipping. 4. Preview presentpreview/hero.png exists and is ≤ 500 KB.

Where to learn more