themes/README.md in the product repo. Built-ins Streamly / Streamlix / StreamTube are all Final.
Layout
Rules
- Do not fork routes per theme.
- Prefer capabilities over hardcoded theme ids.
- Live look changes only on Apply or Brand & Experience edit.
- Catalog facade:
lib/branding/theme-catalog.ts.
Operator APIs
Gallery zip IO UI hidden (
SHOW_THEME_PACKAGE_IO_UI = false).
Zip layout
theme.json + config.json only — cannot ship new React templates; must use built-in templateEntry.
Preview
/?__theme_preview=<themeId> — admin only; in-memory; flips data-storefront-theme.