config.json listing which Modules are on and what colors to use, and any global CSS. Swap the Template and your Store looks different. Your Module logic, API routes, and commerce data do not move.
That separation is the point. Redesigning your Storefront should not be able to break Checkout.
The starter Template, brisa, ships under templates/. Copy it when you want your own.
What is in a Template
config.json
config.json controls presentation and local Module configuration for the active Template. Commerce facts stay in the Store Runtime domains that own them, so nothing in this file can change a price or a stock count.
config.json
The fields that matter
The complete schema is in the
config.json reference.
Colors
Colors are OKLCH values. OKLCH is perceptually uniform, which means raising lightness by the same amount looks like the same amount of change across every hue. Picking a palette stops being trial and error. Every token invariables.light and variables.dark maps to a CSS custom property Tailwind reads.
Logic and presentation are separate files
Every visual component in a Template splits in two:.tsxholds the logic: state, data fetching, event handlers, configuration..mdxholds the markup: a render template that receives everything as props.
navbar/index.tsx
navbar/1.mdx
1.mdx, 2.mdx, 3.mdx) are design variants of the same component. Switching designs means changing which numbered file the .tsx imports. The logic never moves, so a redesign cannot introduce a data bug.
Make your own
1
Copy brisa
templates/my-theme/ and updates theme and name in the new config.json.2
Edit the MDX
Change
layout.mdx, index.mdx, and any page-level MDX to match your design. Module components are available by name with no imports.3
Activate it
template/* path alias in apps/store/tsconfig.json at your new directory.4
Restart
config.json changes need the restart.86d template add has the full specifier grammar. The command fails if the downloaded Template has no config.json, and the Template has to ship an explicit modules array. Copy the shape of templates/brisa/config.json.
Related pages
- Customize a Template for name, colors, logos, and pages
config.jsonreference- Storefront for how a Template renders
- How Modules package Store capabilities
- Glossary