Every 86d store is driven by 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 file that lives inside your template directory at templates/<template-name>/config.json. This file is the single place where you set your store’s display name, logo assets, which modules are active, per-module options, and the full palette of OKLCH color tokens used to style both light and dark mode. After editing config.json, run 86d generate to apply your changes.
Configuration file location
templates/<theme>/config.json. Custom templates follow the same pattern under their own directory name.
Top-level fields
Optional URL pointing to the JSON Schema for this config file. Set to
"https://86d.app/docs.json" to get editor validation and autocomplete in VS Code and other JSON-aware editors.The template name this config belongs to. Must match the directory name under
templates/. The default value is "brisa".The display name of your store. Used in the storefront navbar, the admin dashboard header, and email templates.
Root-relative path to your favicon asset, for example
"/assets/favicon.svg". SVG favicons are supported.Icon-only mark (square, no wordmark) for use in compact UI contexts such as mobile menus. Provide separate assets for light and dark mode.
Full-width logo (with wordmark) shown in the navbar and footer. Provide separate assets for light and dark mode.
Controls which modules are active in your store.
- Set to
"*"to enable every module installed in the workspace. This is the recommended default when getting started. - Set to an array of package names (for example
["@86d-app/cart", "@86d-app/products"]) to enable only specific modules.
Per-module configuration, keyed by module package name. Each value is an options object defined by that module. See the individual module’s documentation for available options.
OKLCH color tokens applied as CSS custom properties for light and dark mode. See Color tokens below for the full list of supported keys.
Color tokens
86d uses OKLCH for all color tokens. OKLCH is a perceptually uniform color space that makes it straightforward to create palettes with consistent brightness and chroma. Each token maps to a CSS custom property (for example--background, --primary) applied on :root.
You define separate values for variables.light and variables.dark. The supported tokens are:
| Token | Description |
|---|---|
radius | Border radius for cards and inputs (for example "0.5rem"). Light mode only. |
background | Page background |
foreground | Default text color |
card | Card surface background |
card-foreground | Text on card surfaces |
popover | Popover and dropdown background |
popover-foreground | Text inside popovers |
primary | Primary action color (buttons, links) |
primary-foreground | Text on primary backgrounds |
secondary | Secondary surface color |
secondary-foreground | Text on secondary surfaces |
muted | Subtle background for de-emphasized content |
muted-foreground | Text inside muted areas |
accent | Hover and highlight accent surface |
accent-foreground | Text inside accent areas |
destructive | Destructive action color (delete buttons, error states) |
border | Default border color |
input | Input field border and background tint |
ring | Focus ring color |
chart-1 to chart-5 | Chart series colors |
sidebar | Admin sidebar background |
sidebar-foreground | Text in the sidebar |
sidebar-primary | Active item highlight in the sidebar |
sidebar-primary-foreground | Text on active sidebar items |
sidebar-accent | Hover surface inside the sidebar |
sidebar-accent-foreground | Text on hovered sidebar items |
sidebar-border | Sidebar border color |
sidebar-ring | Focus ring inside the sidebar |
Complete example
The following is the fullconfig.json used by the default starter template:
templates/<theme>/config.json
Applying changes
After editingconfig.json, regenerate the module imports and API router so your changes take effect:
bun run dev picks up config changes automatically after codegen runs.
If you set
STORE_ID in your environment, the store fetches its configuration from the 86d API instead of reading config.json. See Environment variables for details.
