Modules are the building blocks of an 86d store. Every feature (cart, reviews, blog, newsletter, checkout) ships as an independent module that you opt into by listing it in your store’sDocumentation 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. When you add a module, its components become available immediately in your MDX templates. No manual imports, no boilerplate.
Find a module
Browse first-party modules at npmjs.com, explore the Module catalog, or list everything in your local registry from the CLI:@86d-app/<name> naming convention (for example @86d-app/reviews, @86d-app/blog). You can also use any npm package or GitHub repository that follows the 86d module contract.
Add a registered module
The fastest way to add a module is86d module add. The CLI downloads the module, fetches its required dependencies, runs bun install, and enables it in the active template.
Run module add
reviews), the fully scoped name (@86d-app/reviews), a GitHub specifier (github:owner/repo/modules/loyalty), or an npm specifier (npm:@acme/commerce-module). See 86d module add for the full grammar.Regenerate module bindings
Add a module by editing config.json
You can also add modules manually by listing them in the active template’s config.json. This is useful when you are scripting deployments or want to audit changes through a pull request.
Edit config.json
Open your active template’s
config.json and append the package name to the modules array:templates/<theme>/config.json
Install the package (if it is not a workspace module)
If the module is a published npm package that is not in your workspace, install it:Workspace modules under
modules/ are already on disk, so this step is unnecessary for first-party modules.Set per-module options
Many modules accept configuration options that control their behavior. Pass these via themoduleOptions key in config.json:
moduleOptions must match the exact npm package name.
Use external npm packages
You are not limited to@86d-app/* modules. Any npm package that exports React or MDX components and follows the 86d module contract can be listed:
86d generate detects which packages are workspace-local (@86d-app/*) and which are public npm packages, installs the public ones automatically, and adds them to package.json.
Remove a module
Disable the module
config.json. If config.json had "modules": "*", the CLI converts it to an explicit list with reviews excluded.Regenerate
modules.ts, the API router, and the MDX component registry.Next steps
- Build a custom module to add bespoke functionality.
- Module catalog for the full list of available modules.
config.jsonreference for every supported field.

