Brand kits
A brand kit is a portable bundle of one brand's identity: palette, typography, and source documents. It's the thing that travels with a brand across the design system, the Showcase preview, and Sitecore AI. A theme is the rendered output; the brand kit is the source.
src/registry-content/schemas/brandkit.schema.json (a recipe schema generated from Zod). Anything you author against the schema can be consumed by the orchestrator, Agent Studio, and the static theme generator.- Palette tokens
The brand-specific colour set — primary, accent, background, foreground, and the matching foreground pairs. Same token names as the design system; the brand kit just supplies the values.
- Typography
Font stacks for sans and serif text. Overridden through the component-layer tokens (--font-sans, --font-serif) when a brand needs a custom face.
- Source documents
Brand guidelines, logo assets, voice-and-tone references. Either hosted URLs or assets uploaded to Sitecore — both shapes are supported via the documents array.
- Sections
Each document carries a sections list (e.g. logo, guidelines, voice) so downstream tools can filter for what they need without scanning every document.
The two terms cover different layers of the same idea:
- The brand kit is authored. It carries the palette, the type stacks, the source documents — the human-curated material a brand owner edits.
- The theme is generated. It's the CSS file at
public/themes/<slug>.cssthe design system loads at runtime. One brand kit produces one theme.
A brand kit can be edited; a theme should never be hand- edited. If a theme looks wrong, the fix lives in the brand kit (or in the token list it depends on).
Brand kits are stored as recipes — typed JSON documents validated by the schema. Here's a minimal example:
{
"kind": "brandkit",
"schemaVersion": "1",
"handle": "acme-co@1",
"name": "acme-co",
"displayName": "Acme Co.",
"description": "Acme Co. brand kit — palette, type, and source docs.",
"industry": "retail",
"documents": [
{
"kind": "url",
"url": "https://acme.example.com/brand/guidelines.pdf",
"sections": ["guidelines"]
},
{
"kind": "asset",
"assetUuid": "9c2f0c1a-…",
"sections": ["logo", "primary-mark"]
}
]
}handleis the brand kit's addressable identifier — kebab-case name plus an integer version (@1).nameis the unique key within an organisation. Brand kits live in a flat per-org namespace on Sitecore AI.documentsis a mixed list ofassetentries (uploaded to Sitecore, addressed by UUID) andurlentries (hosted elsewhere). Each entry can be tagged with sections.
Brand kits in this registry are surfaced under Brands. Each brand has a brand-kit editor that lets you set the palette, attach source documents, and preview how the generated theme looks before publishing.
Customer and prospect brand kits live in the orchestrator database. The static theme directory in this repo is reserved for the generic samples the design system ships with — don't hard-code customer brands as static themes.
- Theming & design tokens — the palette and component-layer tokens a brand kit ultimately drives.
- Brands — open the brand-kit editor for the brands in this workspace.