← Home

Templates

Storefront templates for EmDash

Today we ship one first-party theme: the Astro starter at emdashCommerce/starter . It wires @dashcommerce/core end to end — cart, Stripe hosted and embedded checkout, orders, subscriptions, Connect, emails — with a seeded catalog that exercises every product type. One command scaffolds a fresh project:

npm create @dashcommerce@latest
Starter

Official Astro starter storefront

This is the reference site we run as demo.dashcommerce.dev . Standard Astro project structure: one npm create command scaffolds it, bun run bootstrap seeds six demo products, paste Stripe test keys in plugin settings, and every surface the core ships with is reachable from a real route — not a toy sandbox.

Storefront routes Show
Path What it covers
/ Home — hero, featured products, blog teaser, value props (CMS-driven)
/shop Catalog grid with currency switcher
/shop/[slug] Product detail — variants, price map, reviews, add to cart
/category/[slug] Taxonomy-filtered listings
/tag/[slug] Tag-filtered listings
/cart Full cart — qty, coupon, shipping estimate
/checkout Stripe Checkout (hosted) or Payment Element (embedded)
/thank-you/[draftId] Post-checkout polling until webhook confirms payment
/account Customer hub + Stripe customer portal (email lookup)
/orders/lookup Guest order lookup
/subscriptions/[token] Self-serve subscription pause / resume / cancel
/blog … Journal listing, post, category — Portable Text blocks inline
Admin & ops Show

EmDash admin mounts at /_emdash/admin with DashCommerce screens: orders, customers, coupons, shipping, tax, subscriptions, reviews, vendors, menus, reports, settings — plus the five dashboard widgets (revenue, low stock, recent orders, pending reviews, failed renewals).

Customize at the site level (layouts in src/, local copies of core Astro components). The plugin stays on npm — extend the theme, don’t fork the engine unless you need to.

  • MIT — tracks the latest @dashcommerce/core
  • Seed catalog: six SKUs (simple, variable, grouped, external, subscription, digital)
  • First run: npm create @dashcommerce@latestbun run bootstrapbun run dev. Paste Stripe test keys in plugin settings.

Niche templates (subscription box, multi-vendor showcase, digital creator) are on the roadmap , including paid themes and Theme Club as distribution matures.