Open-source storefront kit

Commerce, without the CMS.

A headless store your coding agent builds and runs. Checkout, orders and a Store API any ERP can drive, with nothing to log into and nothing to patch.

Take a closer look.

The old way 01 / 07

Today’s store has a CMS in the middle.

Your design on top, the store core at the bottom, and a CMS wedged in between that you log into, patch and defend.

The old way 02 / 07

Every plugin is a door.

Admin login, plugins, theme files, updates. Thousands of stores share the same ones, so one hole gets scanned across the web the same day.

The switch 03 / 07

Our way starts by taking it out.

Content and design move into git. No admin to log into, no plugin to patch, no theme marketplace to trust.

Our way 04 / 07

What’s left is small.

Catalog, checkout, orders, accounts, and adapters for payments and mail. One npm package that updates under you.

Our way 05 / 07

The design is your agent’s.

Blocks are copied into your repo to redesign however you like. Each store ships a CLAUDE.md naming the one test that must stay green: checkout still works.

Our way 06 / 07

Five calls to your ERP.

Orders go out. Order numbers, tracking, stock and products come back. SKU.io is the first system on it, with no private hooks.

Our way 07 / 07

Runs where you want.

Cloudflare Workers with D1, or any Node server with a SQLite file. Your data is plain SQL you can export whole.

The CMS is dead.

It was built for a person clicking through screens. Stores are now built by agents that write code, so what a store needs is a standard, an API, and the freedom to look like anything. The kit sets the standards. Your repo does the rest.

Small on purpose.

0 admin panels

Nothing to log into and edit content. The store’s own /admin is read-only on purpose.

5 API calls

All an ERP needs to run a store’s operations.

19 blocks

Cart, checkout, accounts, discounts and more, copied into your repo to redesign.

5 payment adapters

Stripe, PayPal, BTCPay, on-chain bitcoin, and pay later.

2 ways to host

Cloudflare Workers with D1, or any Node server with a SQLite file.

MIT licensed

Extend the code, ship the store. Your data is plain SQL you can export whole.

One small contract.

The store keeps the whole order. Your operations system reads it and pushes the truth back. SKU.io is the first system on it, with no private hooks; any ERP, or an n8n workflow, connects the same way.

Read the Store API spec
  1. GET /orders?updated_since= Read new orders
  2. PATCH /orders/{id} Write your order number back
  3. POST /orders/{id}/fulfillments Send tracking; the store emails the buyer
  4. PUT /inventory Send stock levels
  5. PUT /products Optionally own the catalog

Fewer doors.
Nothing valuable behind the rest.

The browser never sends a price.

The cart carries a SKU and a quantity. The server prices every line.

Card numbers never touch the store.

Buyers pay on the processor’s hosted page.

A leaked key cannot invent a sale.

The Store API has no way to create an order.

Every connection has its own key.

Scoped, stored as a hash, revocable.

No passwords to steal.

Buyers sign in with a single-use emailed link.

Brute force gets locked out.

Repeated failed owner sign-ins and bad API keys are blocked.

Fewer doors is not zero. A checkout and an API are public by necessity. Removing the CMS removes the plugin surface, not the need for care.

We looked for this first.

We wanted our own stores off WooCommerce and onto something an agent could build, with no CMS to log into. Each option was good at something. None was built for that.

Feature WooCommerceMedusaBagistoHeadless ShopifyStorefront
Open source Yes Yes Yes No Yes
No admin panel to log into No No No No Yes
No server or database to babysit No No No Yes Yes
No monthly platform fee Yes Yes Yes No Yes

As we evaluated them in August and September 2026. Headless Shopify’s open-source part, Hydrogen, runs on Shopify’s paid backend.

A store in one command.

Manual payments and console mail need no keys, so the first run needs nothing but Node.

Then open CLAUDE.md in the new store and tell your agent what to build.