pre-release · v0.0.8 / for EmDash · Astro · Cloudflare

The commerce stack WooCommerce should have been — typed, sandboxed, edge‑native.

DashCommerce is the open‑source commerce plugin for EmDash CMS — the Astro-native, Cloudflare-first successor to WordPress. Products, subscriptions, multi-currency, marketplace payouts. No plugin sprawl. No transaction fees. No PHP.

email

No spam, no credit card, no Kickstarter. Just a note when v0.1 ships.

01 —
0 kb
shipped JavaScript by default
02 —
0 %
transaction fees to us, ever
03 —
100 %
open source, MIT licensed
install astro.config.mjs
// one line. a real database. no plugins to vet.
import { dashcommerce } from "@dashcommerce/core";

emdash({
plugins: [dashcommerce()],
});
The incumbent

Twenty‑two years
of duct tape.

WooCommerce wasn't architected — it accreted. Every shop owner learns the bill after year one.

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.

No "extensions page." Subscriptions, marketplaces, multi-currency — all in the box, all typed end-to-end.

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 a reference Astro storefront that ships everything wired up — shop, product, cart, checkout, account, subscriptions, thank-you. It's how we dogfood. It's how you start.

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()],
    }),
  ],
});
bun add @dashcommerce/core bun emdash seed bun 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 — /packages/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 · Q2

Founders build

Products (all 6 types), cart, Stripe Payment Intents, orders, admin dashboard, multi-currency, coupons, shipping, inventory soft-locks.

Products Cart Checkout Orders Admin
P1 ● active
2026 · Q3

Revenue surface

Subscriptions with trials + dunning, transactional emails, reviews with moderation, Stripe Tax, digital downloads with signed URLs.

Subscriptions Emails Reviews Tax Digital
P2 ● scoped
2026 · Q4

Marketplace

Stripe Connect with platform fee, multi-vendor orders + payouts, abandoned-cart recovery, low-stock alerts, wishlists.

Connect Payouts Recovery Alerts
P3 ● proposed
2027 · Q1

Ecosystem

Plugin SDK, capability manifests, typed events, AI storefront (MCP), themes marketplace, first-party analytics sink.

SDK MCP Themes Analytics
early access

Join the quiet waitlist.

We're not crowdfunding. We're not pre-selling. We're writing the code first, then letting a small group of EmDash users kick the tires on a real build — subscription billing, marketplace payouts, the works. Leave your email and we'll reach out when v0.1 is solid.

email

No spam, no credit card, no Kickstarter. Just a note when v0.1 ships.

mit licensed · no credit card · no kickstarter · unsubscribe w/ one click