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@latest → bun run bootstrap → bun 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.