v0.1.3 on npm · MIT / for EmDash on Astro

The commerce stack WooCommerce should have been — open source, edge‑native. Shipped.

One npm package turns an Astro + EmDash site into a working store — cart, Stripe checkout, subscriptions, multi-vendor marketplace, multi-currency, digital downloads, 12-page admin. MIT licensed. Zero platform fee. Runs on Cloudflare Workers, Vercel, or any Node host.

01 —
6
product types in core — simple, variable, grouped, external, subscription, digital
02 —
0 %
platform fee — you pay Stripe, no one else
03 —
0 kb
JS shipped on storefront pages by default
scaffold ~10 minutes to a live storefront
# full storefront — products, cart, Stripe, admin — in one command
$ npm create @dashcommerce@latest
$ cd your-shop && bun run bootstrap
$ bun run dev # → http://localhost:4321
The argument

Twenty‑two years
of duct tape.

Commerce tools either tax your transactions forever (Shopify, SureCart, Lemon Squeezy) or stack a dozen plugins on a fifteen-year-old PHP core (WooCommerce). We picked neither.

Sources → woocommerce.com, Wordfence 2024, HTTPArchive
  • 01 security
    96%
    of WordPress vulns come from plugins

    A typical WooCommerce store runs 40+ plugins. Each one is a supply-chain risk that nobody audited.

  • 02 cost
    $1,500+
    the annual extension bill

    Subscriptions, bookings, memberships, gateways — every feature you thought was free turns out to be a yearly invoice.

  • 03 performance
    814 kb
    of JS on an unmodified shop page

    Themes fight plugins. Plugins fight themes. The user downloads the war.

  • 04 fees
    1.9%
    transaction fee on top of Stripe

    Some "open" alternatives charge you to move your own money. That's not open — that's rent.

  • 05 stack
    PHP
    as a foundation, in 2026

    WordPress runs the web it built, not the web we're shipping now. Edge, typed, and reactive is a retrofit there — it's the baseline here.

  • 06 schema
    50+
    DB tables before you sell one thing

    WooCommerce's schema is archaeological. DashCommerce is three typed collections and a Stripe event log.

Under the hood

Everything a real store needs. Nothing a real store doesn't.

Subscriptions, marketplace payouts, multi-currency, digital downloads, abandoned-cart recovery, transactional email, 12-page admin — in core. No "extensions page." Nothing to license separately.

products 6 types

From a single SKU to
a vendor marketplace.

Simple · Variable (size/color/etc) · Grouped · External/affiliate · Digital download · Subscription. Defined in typed collections, indexed at build, served from the edge.

simple
single SKU
variable
attrs → variants
grouped
bundles
external
affiliate
subscription
recurring
digital
download+license
multi‑currency

Prices in eight currencies, picked at cart.

USD 29.00
EUR 27.50
GBP 23.90
JPY 4,350
CAD 39.50
AUD 44.20
SGD 39.00
BRL 142.00
checkout

Stripe Payment Intents.
Apple & Google Pay included.

PAYMENT ELEMENT 3DS 2 SCA
orders

Refunds & partial refunds, in‑dash.

Admin dashboard ships with full refund UI. Stripe events reconciled automatically.

subscriptions

Recurring, trials, upgrades, dunning.

Stripe Subscriptions wired to your products. Proration, lifecycle emails, all typed.

stripe connect

Marketplace payouts with a platform fee.

transfer_data + application_fee_amount. Turn any shop into a vendor platform.

coupons

Fixed/percent × cart/product, limits, exclusions.

shipping

Multi-zone, flat, weight, local pickup, free thresholds.

inventory

Soft-locks during checkout. No oversells. Low-stock alerts.

reviews

Moderation queue. Verified-purchase badges.

transactional emails

Receipt, refund, shipping, abandoned-cart, subscription lifecycle. Editable MJML templates.

tax

Flat-rate by default. Stripe Tax wired in with one env var when you outgrow the default.

customers

Addresses, order history, guest-cart merge on login. No WordPress user baggage.

The starter

A full storefront.
Clone. Configure. Ship.

@dashcommerce/starter is our official Astro theme: the same tree we deploy to demo.dashcommerce.dev . Shop, PDP, cart, hosted or embedded checkout, account portal, subscriptions, thank-you polling, blog, and EmDash admin with every DashCommerce screen wired up — plus a six-product seed that hits every product type.

What’s in the box routes · admin
  • /shop · catalog, /cart · /checkout · /thank-you/…
  • /account · portal · /subscriptions/[token] · guest /orders/lookup
  • /_emdash/admin · orders through settings + dashboard widgets
  • Full route list & quickstart →
astro.config.mjs ts · 18 lines
import { defineConfig } from "astro/config";
import emdash from "emdash/astro";
import { sqlite } from "emdash/db";
import { dashcommerce } from "@dashcommerce/core";

export default defineConfig(({
  integrations: [
    emdash({
      database: sqlite({ url: "file:./data.db" }),
      plugins: [dashcommerce()],
    }),
  ],
});
npm create @dashcommerce@latest bun run bootstrap bun run dev
atelier.dash/shop/folded‑linen‑scarf
Atelier —
EUR Cart 2
01 · 04
3744 × 4680
Accessories · Linen

Folded Linen
Scarf

Heavy‑weight Belgian linen, stone‑washed and garment‑dyed. Cut and sewn in Porto.

Color
Size Guide ↗
€ 84.00 in stock
Ships in 48h · Free over €120
live reference — emdashCommerce/starter
Vs the field

Built to replace your whole extensions page.

Compared at parity with each platform's default install. No extensions marketplace — none needed.

Capability
DashCommerce
edge · typed
WooCommerce
PHP · 2011
Shopify
SaaS · Liquid
SureCart
SaaS · WP
FluentCart
PHP · 2024
01 Runs at the edge (Cloudflare Workers)
partial partial
02 Zero JS by default
03 Typed content collections
04 Subscriptions in core
paid add-on
05 Digital downloads in core
paid add-on partial
06 Marketplace payouts (Stripe Connect)
paid add-on partial
07 Multi-currency, per-product
paid add-on partial partial
08 No platform transaction fee
09 Sandboxed plugin model
partial
10 Source-available, MIT
yes (GPL)

Swipe to compare

↳ Apples-to-apples isn't always apples-to-apples. Anything marked “partial” has its caveats — ask us.

Roadmap

Four phases.
Shipped in public.

Dates are targets, not promises. Everything here is tracked as a GitHub milestone with tagged issues.

P0 ● shipping
2026 · shipped

Core + npm

On npm, plus `npm create @dashcommerce@latest` for one-command scaffolding. Full commerce engine, React admin, starter, docs, demo.dashcommerce.dev. Woo-shaped baseline without the plugin sprawl.

npm Starter Demo Docs
P1 ● active
2026 · next

Distribution + themes

Paid niche templates, optional @dashcommerce/astro package, EmDash marketplace path (standard + Block Kit) when traction warrants the fork.

Themes Astro pkg Marketplace
P2 ● scoped
2027 · H1

Pro + integrations

License-gated @dashcommerce/pro — Klaviyo-class sync, accounting, ShipStation, Avalara/TaxJar, multi-step automation beyond core cron.

Pro Integrations License
P3 ● proposed
2027+

Ecosystem

Third-party theme marketplace, Theme Club, partner analytics, MCP/agent hooks.

Marketplace Club MCP
FAQ

DashCommerce FAQ

Is DashCommerce production-ready?
v0.1.3 on npm. Every feature category is shipped; the 0.x range means minor versions may contain breaking changes. Pin ~0.1.3 in production and review the CHANGELOG before upgrades. The live demo runs the same code you'd deploy.
Is DashCommerce free?
Yes. @dashcommerce/core is MIT-licensed, free to install, and charges no per-transaction platform fee. You pay Stripe's processing fee directly to Stripe. You do not pay DashCommerce anything, ever.
How do I install it?
Run npm create @dashcommerce@latest. Scaffolds a full storefront — products, cart, checkout, admin, Stripe test keys wired up — in about ten minutes. See Getting started for the manual add-to-existing-EmDash path.
What is DashCommerce?
An open-source commerce plugin for EmDash CMS, distributed on npm as @dashcommerce/core. Adds products, cart, checkout, subscriptions, marketplace payouts, multi-currency, and a 12-page admin to any Astro + EmDash project. MIT, v0.1.3.
How is it different from WooCommerce?
WooCommerce runs on WordPress/PHP and needs a dozen paid extensions to reach parity. DashCommerce runs on Astro at the edge, ships every major feature category in core, and charges zero platform fees. Both open source — DashCommerce is MIT, WooCommerce is GPL.
Does it support subscriptions?
Yes, in core. Stripe Subscriptions with trials, sign-up fees, proration, dunning emails, pause/resume, and a self-serve customer portal. No separate WooCommerce Subscriptions-style add-on required.
Which payment gateways work?
Stripe, first-class. Payment Intents, Payment Element (Apple Pay, Google Pay, Link, saved methods), Subscriptions, Connect, Tax. No other gateway in v0.1.x. You own the Stripe account directly — DashCommerce is not a Merchant of Record.
Can I run a multi-vendor marketplace?
Yes. Stripe Connect in core — transfer_data + application_fee_amount per PaymentIntent, vendor invites, activation, configurable platform fees. Designed for 2-50 vendor marketplaces. Marketplace use case.
Can I migrate from WooCommerce, Shopify, or Gumroad?
Yes, with realistic effort. See WooCommerce, Shopify, and Gumroad guides. Active subscriptions need customer re-authentication; app-store integrations don't transfer automatically. There is no one-click migrator — plan a project.
How is it different from Shopify?
Shopify is hosted SaaS ($29–$2,500+/mo subscriptions, platform fees, app subscriptions). DashCommerce is self-hosted open source — run it on your own infra, pay Stripe and nothing else. Shopify wins on operational simplicity; DashCommerce wins on ownership and cost at scale. Full comparison.
available on npm

Ready when you are.

@dashcommerce/core is live on npm. Scaffold a real storefront in one command — no license keys, no transaction fees, no waitlist.

# scaffold a working storefront in one command
npm create @dashcommerce@latest
cd your-shop
bun run bootstrap
bun run dev
mit licensed · zero transaction fees · cloudflare-native · typed end-to-end