A template is a folder that contains everything visual about your store: the MDX files that compose each page, aDocumentation Index
Fetch the complete documentation index at: https://86d.app/docs/llms.txt
Use this file to discover all available pages before exploring further.
config.json that lists which modules are active and what colors to use, and any global CSS overrides. When you change a template, the store’s look changes completely, but the underlying module logic, API routes, and data stay exactly the same.
The default starter template ships under templates/. It is the starting point for every new store; copy it to make your own theme.
Template file structure
config.json
config.json is the single source of truth for your store’s configuration. It controls which modules are active, what the store is named, and how every color is rendered in both light and dark mode.
config.json
Key config fields
| Field | Description |
|---|---|
theme | The template name. Must match the folder name under templates/. |
name | Your store’s display name, shown in the navbar and browser tab. |
modules | "*" to enable all installed modules, or an explicit array of package names. |
moduleOptions | Per-module configuration passed to each module’s init function at startup. |
variables.light | OKLCH color tokens applied as CSS custom properties in light mode. |
variables.dark | OKLCH color tokens applied as CSS custom properties in dark mode. |
config.json reference.
OKLCH color customization
Colors are defined as OKLCH values, a perceptually uniform color space that makes it easy to control lightness and chroma consistently across a palette. Every token invariables.light and variables.dark maps directly to a CSS custom property used by Tailwind.
The two-file component pattern
Every visual component in a template follows a strict two-file convention:.tsx: business logic only. State, data fetching, event handlers, and configuration..mdx: presentation only. Pure render template that receives all data as props.
navbar/index.tsx
navbar/1.mdx
1.mdx, 2.mdx, 3.mdx) are design variants of the same component. Switching themes means swapping which numbered file the .tsx imports. The business logic is untouched.
Creating a new template
Scaffold from brisa
templates/my-theme/ as a starting point and updates theme and name in the new config.json.Edit your MDX pages
Modify
layout.mdx, index.mdx, and any page-level MDX files to match your design. Module components are available by name without any imports.Activate the new template
template/* path alias in apps/store/tsconfig.json to point at your new template directory.86d template add for the full specifier grammar.

