Commerce Engine router. Use when the user asks about building a storefront, setting up the SDK, auth, products, cart, checkout, orders, webhooks, SSR, Next.js, or TanStack Start e-commerce patterns.
LLM Docs Header: All requests to
https://llm-docs.commercengine.iomust include theAccept: text/markdownheader (or append.mdto the URL path). Without it, responses return HTML instead of parseable markdown.
These skills cover B2C storefronts. B2B storefronts use the same SDK patterns plus customer-group-aware pricing and headers.
All frameworks install @commercengine/storefront — a unified package with subpath exports per framework:
@commercengine/storefront): createStorefront(...) → storefront.public() / storefront.session()@commercengine/storefront/nextjs): createNextjsStorefront(...) → / / storefront.publicStorefront()storefront.clientStorefront()await storefront.serverStorefront()@commercengine/storefront/tanstack-start): createTanStackStartStorefront(...) → storefront.publicStorefront() / storefront.clientStorefront() + server entry for serverStorefront()Core principle: public reads use the public accessor (API-key-backed, build-safe). Live session flows (auth, cart, orders) use the session/client/server accessor.
@commercengine/storefront-sdk-nextjsis deprecated. Use@commercengine/storefront/nextjsinstead.
Setting up the SDK -> ce-setup
Authentication & login -> ce-auth
Products & catalog -> ce-catalog
Cart & checkout -> ce-cart-checkout
Orders & returns -> ce-orders
Webhooks & events -> ce-webhooks
Next.js / TanStack Start / Astro / SvelteKit patterns -> ce-ssr-patterns
publicStorefront() / clientStorefront() / serverStorefront()Custom SSR bindings -> ce-ssr
@commercengine/ssr-utils for frameworks without a first-party wrapper (Nuxt, etc.)ServerTokenStorage and CookieAdapterCanonical pages for a CE storefront and the skills/methods each needs:
| Page | Example Route | Skills | Key SDK Methods |
|---|---|---|---|
| Home | / | catalog | listProducts, listCategories, recommendations |
| Product Listing | /products, /categories/[slug] | catalog | searchProducts, listProducts |
| Product Detail | /products/[slug] | catalog | getProductDetail, listProductVariants, listProductReviews |
| Cart | Hosted Checkout drawer or /cart | cart-checkout | useCheckout().openCart() or sdk.cart.* |
| Checkout | Hosted Checkout drawer or /checkout | cart-checkout | useCheckout().openCheckout() or custom checkout flow |
| Login | /login | auth | loginWithEmail, loginWithPhone, verifyOtp, loginWithPassword |
| Account | /account | auth | getUserDetails, updateUserDetails, changePassword |
| Orders | /account/orders | orders | listOrders |
| Order Detail | /account/orders/[id] | orders | getOrderDetails, listOrderShipments, listOrderPayments |
ce-setup. Install @commercengine/storefront.publicStorefront() / public().clientStorefront() / serverStorefront() / session().ce-cart-checkout.ce-ssr-patterns (Next.js / TanStack Start / Astro / SvelteKit) or ce-ssr (custom bindings for Nuxt, etc.).Replace one data source at a time. Keep existing UI components where possible and swap the data layer first.
User Request
│
├─ "Set up SDK" / "Add Commerce Engine" → ce-setup
├─ "Login" / "Auth" / "OTP" → ce-auth
├─ "Products" / "Categories" / "Search" → ce-catalog
├─ "Cart" / "Checkout" / "Payments" → ce-cart-checkout
├─ "Orders" / "Returns" / "Shipments" → ce-orders
├─ "Webhooks" / "Events" / "Sync" → ce-webhooks
├─ "Next.js" / "Server Actions" → ce-ssr-patterns (references/nextjs.md)
├─ "TanStack Start" / "Server functions" → ce-ssr-patterns (references/tanstack-start.md)
├─ "Astro" / "Astro SSR" → ce-ssr-patterns (references/astro.md)
├─ "SvelteKit" / "Svelte" / "Load functions" → ce-ssr-patterns (references/sveltekit.md)
└─ "SSR" / "Cookies" / "Custom binding" → ce-ssr
/ce-setup/ce-auth/ce-catalog/ce-cart-checkout/ce-orders/ce-webhooks/ce-ssr-patterns/ce-ssr