A template controls everything your customers see: the global layout, color palette, typography, the content of every page, and the assets in your header and footer. All of this lives underDocumentation Index
Fetch the complete documentation index at: https://86d.app/docs/llms.txt
Use this file to discover all available pages before exploring further.
templates/<theme>/, a plain directory of MDX files and a single config.json. You do not need to touch the framework, modify the Next.js app, or run any special tooling. Edit the files, save, and your dev server picks up the change immediately.
What templates contain
| File | Controls |
|---|---|
config.json | Store name, color tokens, logo and favicon paths, enabled modules |
layout.mdx | Global page wrapper (navbar, main content area, footer) |
index.mdx | Homepage content |
products/layout.mdx | Product listing page |
products/[slug]/layout.mdx | Individual product pages |
collections/layout.mdx | Collection listing page |
blog/layout.mdx | Blog listing page |
about.mdx, contact.mdx, … | Static pages |
Step 1: create a custom template (optional)
If you want to start from a copy of the defaultbrisa template rather than editing it in place, scaffold a new one:
templates/my-store/ with the full Brisa template copied in. You can then activate it with 86d template activate my-store, or keep using brisa and customize it directly.
Step 2: set your store name and colors
Open your active template’sconfig.json. The top section sets your store identity:
variables.light and variables.dark. Every token maps to a CSS custom property applied at runtime. Change the primary token to update your main brand color across all buttons and interactive elements:
primary at oklch(0.5 0.2 30) (a warm orange) has the same perceived brightness as oklch(0.5 0.2 250) (a cool blue). Adjust the first number for lightness (0 to 1), the second for chroma (saturation), and the third for hue angle (0 to 360).
Step 3: edit MDX pages
MDX pages are where you arrange module components and write content. Open your active template’sindex.mdx to see how the default homepage is built:
FeaturedProducts, FeaturedCollections, NewsletterInline) comes from its corresponding module. Components are available in MDX automatically once their module is listed in config.json and you have run 86d generate. Standard HTML, JSX, and Tailwind utility classes work anywhere in MDX files.
Page-specific MDX and detail pages
Layout files for dynamic routes receive props from the framework. For example,products/[slug]/layout.mdx receives props.slug automatically:
Numbered MDX variants
Components can have multiple design variants stored as numbered MDX files (1.mdx, 2.mdx, 3.mdx). The .tsx logic file imports the numbered variant it wants:
.tsx file. The business logic (data fetching, state management, event handlers) stays completely unchanged.
Update your logo and favicon
Replace the SVG files in your template’sassets/ directory and update the paths in config.json if they change:
favicon: the browser tab icon (typically 32 by 32 pixels).icon.lightandicon.dark: a compact icon-only mark used in places like the mobile menu or compact navbar. Use separate light / dark variants so the icon is readable in both themes.logo.lightandlogo.dark: the full logotype shown in the header and footer.
#111 for dark, #f5f5f5 for light) rather than CSS custom properties, because they may be loaded outside the theme context for things like Open Graph images.
