Open source

The open-source commerce engine for builders

GoCommerce is the engine: catalogue, carts, checkout, orders and inventory in one Go binary, with its admin compiled in. Svelte Commerce is the storefront, in SvelteKit. Both are MIT licensed and developed on GitHub, and there is nothing to sign up for — you clone them, run them and change them.

First steps

A store on your own machine in five steps

All it needs is Docker and a terminal — nothing to register, nothing to pay. The compose file is served from this domain and starts three services: PostgreSQL, GoCommerce with its admin, and Caddy so it answers on port 80.

  1. Download docker-compose.yml
  2. Save env.example as .env
  3. Set your secrets
  4. docker compose up -d
  5. Open localhost

Five steps, in order

# 1 — the compose file: PostgreSQL, GoCommerce and Caddy
curl -O https://kitcommerce.store/docker-compose.yml

# 2 — the settings template, saved as .env beside it
curl -o .env https://kitcommerce.store/env.example

# 3 — replace every value in .env; make the two secrets with
openssl rand -hex 32

# 4 — start it; the first run builds GoCommerce from source
docker compose up -d

# 5 — check the catalogue answers, then open http://localhost/
curl http://localhost/api/products

docker-compose.yml · env.example — both plain text, commented line by line, readable before you run them.

Admin

http://localhost/

Sign in with the email and password you set in .env.

API documentation

http://localhost/docs

The OpenAPI contract this build actually serves.

Catalogue

http://localhost/api/products

Public and unauthenticated — the route a storefront calls.

Step 3 in full: POSTGRES_PASSWORD and GOCOMMERCE_ADMIN_TOKEN take the output of openssl rand -hex 32; GOCOMMERCE_ADMIN_EMAIL and GOCOMMERCE_ADMIN_PASSWORD create the first operator, and only while there is none, so leaving them set never resets a password. The compose file will not start while a required secret is unset.

The first docker compose up -d compiles GoCommerce from the public repository, because no image is published yet — expect a few minutes; later runs are cached. Svelte Commerce is not part of the stack yet: its Docker image has no published tags, so it runs from source (the Svelte Commerce quick start), and pairing it with this stack means installing the early GoCommerce connector in that checkout.

Build from source instead

No Docker: Go and a PostgreSQL you can reach. The GoCommerce quick start clones the repository and runs the reference binary, with 39 of the 44 modules installed.

GoCommerce quick start

Run the storefront

Svelte Commerce needs Node and a backend to point at — one of its 26, or GoCommerce through its early connector, which covers catalogue, cart, checkout and order lookup.

Svelte Commerce quick start

On a server, not a laptop

The same compose file runs on any server with Docker. PORT in .env moves it off port 80, and Caddy in front is the one place to add TLS. Running GoCommerce in production has its own guide.

Operations guide

The ecosystem

More than an engine

Two repositories and everything around them — modules, themes, agent tooling — developed in the open under one licence. Each piece works without the others; take the one you need first.

itswadesh/gocommerce

GoCommerce

The engine and its admin. One Go binary and one PostgreSQL; the Svelte admin is compiled into the same binary, so there is no second service to deploy.

  • 61 admin screens
  • 342 API operations
  • 1,000+ tests
  • 44 modules

itswadesh/svelte-commerce

Svelte Commerce

The storefront. Server-rendered SvelteKit — browse, search, cart, checkout, account — against 26 commerce backends. arialshop.com runs it in production.

  • 26 backends
  • 79 demo themes
  • 1,815 stars
  • 336 forks

GoCommerce ↔ Svelte Commerce connector: early, 0.1.0It covers catalogue, cart, checkout and order lookup; customer accounts and search are not covered yet.Status

44 modules, compiled in only when imported

Payments, carriers, email and SMS, search, content, feeds and importers — each a directory under ext/. Import one and it is in your binary; leave it out and none of its code is.

  • 9 payment modules, Razorpay and Stripe among them
  • 11 shipping modules, Shiprocket and Delhivery among them
  • Shopify and Amazon importers
Browse the 44 modules

Written for coding agents

The repository tells an agent how it is built, and the MCP module lets an agent operate a running store.

  • AGENTS.md — 14 architectural rules and 4 notes for agents
  • skills/ — 15 task guides and an index
  • MCP — 19 tools, through the same services as REST
Build with coding agents

Commerce as code

A store is a Go program. Modules are imports composed in main.go, so installing a gateway is a diff that goes through review, tests and rollback like any other change.

  • No plugin registry
  • Nothing downloaded at runtime
  • “Go to definition” works on all of it
How a module is written

Commerce as code — a store’s main.go, shortened

import (
	"github.com/itswadesh/gocommerce/core"
	razorpay "github.com/itswadesh/gocommerce/ext/payments-razorpay"
	shiprocket "github.com/itswadesh/gocommerce/ext/fulfill-shiprocket"
	"github.com/itswadesh/gocommerce/ext/mcp"
)

// Everything this store runs is on this screen. A module that is
// not in this list is not in the binary.
modules := []gocommerce.Module{
	razorpay.New(razorpay.Config{}),
	shiprocket.New(shiprocket.Config{}),
	mcp.New(mcp.Config{ServerName: "my-store"}),
}

app, err := gocommerce.New(gocommerce.Config{
	DBURL:       os.Getenv("DATABASE_URL"),
	Currency:    "INR",
	AdminTokens: []string{os.Getenv("GOCOMMERCE_ADMIN_TOKEN")},
}, modules...)

Shortened from examples/store/main.go. Install with go get github.com/itswadesh/gocommerce@latest.

No cloud, no paid tier

What you clone is all there is

No hosted version, no enterprise edition, no plan to upgrade to. The two repositories on GitHub are the whole offering, and both are yours under MIT.

No hosted version

There is no GoCommerce cloud and no Svelte Commerce cloud, no paid tier and no enterprise edition. You run the software on your own servers, and you own what it stores.

Rebrand it, white-label it

Rename either package, restyle the admin, ship it under your own name and domain, and sell what you build. The one condition is the licence’s own: its copyright and permission notice travels with the software.

GoCommerce doesn’t phone home

No licence key to check, no usage report, no account with anyone. The admin even serves its own fonts, so it works on a machine that has never seen the internet.

The cost of that: nobody runs it for you.

Servers, backups, upgrades and security patches are yours, and so is the pager. If you want someone else to carry them, a hosted platform is the better choice — the comparisons say where each one wins.

Community

Ask, report, contribute

Questions, bug reports and pull requests go where the work happens: a Discord server and the two repositories.

  • Discord — questions, help getting a store running, and what people are building with either package. Join the server
  • Discussions — Svelte Commerce keeps GitHub Discussions open for questions and ideas. GoCommerce has them switched off, so its questions go to Discord or an issue.
  • Issues — bugs and proposals, filed against GoCommerce or Svelte Commerce. Say what you ran and what came back.
  • Contributing — for GoCommerce, AGENTS.md holds the rules every contributor works under, human or agent, and docs/writing-a-module.md shows how an integration is built. The work that matters most is listed on the GoCommerce page.
  • Changelog — Svelte Commerce records its changes in docs/CHANGELOG.md. GoCommerce has no tagged releases yet, so its commit history is the record.

GoCommerce carries 1,000+ tests and a documented contract for every route, so a pull request has something to prove itself against.

Join the Discord GoCommerce issues Svelte Commerce discussions

GoCommerce’s repository was created on 30 August 2026, so its star count is small; Svelte Commerce has been on GitHub since October 2019. Both counts are read from the GitHub API when this page is built, and again in your browser if GitHub answers.

FAQ

Questions about open source

What licence are GoCommerce and Svelte Commerce under?

MIT, both of them. You may use, copy, modify, merge, publish, distribute, sublicense and sell copies, commercially or not. The one condition is that the MIT copyright and permission notice is included with copies of the software. There is no second licence, no source-available clause and no commercial edition on different terms.

Can I white-label or rebrand them?

Yes. Rename either package, restyle the GoCommerce admin, change the storefront’s theme and ship the result under your own name and domain — for your own shop or for clients. The licence asks for its notice to travel with copies of the software, as a file in the source or the distribution; it does not ask for a credit in your storefront or your admin.

Is there a cloud or a hosted version?

No. There is no hosted GoCommerce, no Svelte Commerce cloud, no paid tier and no enterprise edition. You run both yourself: the compose file on this site starts PostgreSQL, GoCommerce with its admin, and a proxy on port 80 on any machine with Docker. If you would rather someone else operated the servers, a hosted platform is the better fit.

Is it ready for production?

Svelte Commerce is: arialshop.com runs it in production, against one of its 26 backends. GoCommerce carries over 1,000 tests and 342 documented operations, but no store we know of runs it in production yet, so treat it as something to build on deliberately — run the suite against your changes and place test orders before real ones. Svelte Commerce reaches GoCommerce through an early connector, 0.1.0, covering catalogue, cart, checkout and order lookup; customer accounts and search are not covered yet, and no store we know of runs the pair in production.

Why does GoCommerce have so few GitHub stars?

Because its repository is new: it was created on GitHub on 30 August 2026. Svelte Commerce has been there since October 2019, which is where its count comes from. A star count says how long a project has been noticed, not whether its code is right — the test suite is the better evidence. Both numbers on this page are read from the GitHub API, not typed in.

How do I contribute?

For anything large, ask in the Discord first. For GoCommerce, read AGENTS.md — the rules every contributor works under, human or agent — and docs/writing-a-module.md if you are adding an integration, then open an issue or a pull request. For Svelte Commerce, docs/CONNECTORS.md lists every backend connector and what it covers. The most useful work right now is the GoCommerce connector for Svelte Commerce.

Clone it, run it, make it yours

Two MIT repositories, five steps to a running store, and a Discord if you get stuck.

Chat on WhatsApp