<ProductGrid />, <Cart />, and <NewsletterInline />, register themselves when you enable the Module. You place them in MDX the way you place a paragraph. No imports, no wiring.
Routes come from files
The global
layout.mdx wraps every page with your <StoreNavbar />, the <Cart /> drawer, and <Footer />.
Place components in MDX
Once a Module is listed inconfig.json, its components are in the MDX registry everywhere:
index.mdx
products/[slug]/layout.mdx
props.slug from the URL without you passing it.
Buying without an account
A Shopper can buy without creating a Customer account. Both paths work:- Guest: the Cart is keyed to a
guestIdheld client-side. Items stay for 7 days, adjustable throughmoduleOptionsinconfig.json. - Signed in: the Cart attaches to the Customer’s
customerId. A Guest Cart merges into it at sign-in, so nobody loses what they picked out.
The Store API
Each enabled Module mounts its public endpoints under/api/, handled by the catch-all route at api/[...path]:
86d generate.
Rate limits
The API applies separate limits to general, sensitive, and Store Admin routes. A request over the limit returns HTTP429 with retry headers. Current values are in the security model.
Overriding a component
The MDX registry merges components from four sources. When two export the same name, the later one wins:- UI primitives
- App components:
<Navbar />,<Footer />,<Logo /> - Module components, generated from what you enabled
- Per-page overrides
Related pages
- Templates for file layout and
config.json - Customize a Template
- How Modules package Store capabilities
- How commerce records relate
- Store Admin
- Glossary