# Open Source Commerce Engine | GoCommerce & Svelte Commerce

> GoCommerce, a commerce engine in Go with its admin compiled in, and Svelte Commerce, a SvelteKit storefront. MIT licensed, no cloud, no paid tier.

- Canonical: https://kitcommerce.store/open-source/
- Last updated: 2026-09-25

---

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.

[GoCommerce on GitHub](https://github.com/itswadesh/gocommerce) · [Svelte Commerce on GitHub](https://github.com/itswadesh/svelte-commerce) · [Join the Discord](https://discord.gg/GgdAeccwDR)

- **2** GitHub stars, GoCommerce
- **1,815** GitHub stars, Svelte Commerce
- **MIT** — both packages
- **0** paid tiers

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](https://kitcommerce.store/docker-compose.yml) · [env.example](https://kitcommerce.store/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](https://kitcommerce.store/svelte-commerce/#quickstart)), 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](https://kitcommerce.store/gocommerce/#quickstart)

#### Run the storefront

Svelte Commerce needs Node and a backend to point at — one of its 26, or GoCommerce through its [early connector](https://kitcommerce.store/gocommerce-svelte-commerce-connector/), which covers catalogue, cart, checkout and order lookup.

[Svelte Commerce quick start](https://kitcommerce.store/svelte-commerce/#quickstart)

#### 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](https://github.com/itswadesh/gocommerce/blob/main/docs/operations.md)

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](https://kitcommerce.store/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

[Explore GoCommerce](https://kitcommerce.store/gocommerce/) · [GitHub](https://github.com/itswadesh/gocommerce)

itswadesh/svelte-commerce

[Svelte Commerce](https://kitcommerce.store/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

[Explore Svelte Commerce](https://kitcommerce.store/svelte-commerce/) · [79 themes](https://kitcommerce.store/svelte-commerce/themes/) · [GitHub](https://github.com/itswadesh/svelte-commerce)

**GoCommerce ↔ Svelte Commerce connector: early, 0.1.0** — It covers catalogue, cart, checkout and order lookup; customer accounts and search are not covered yet. [Status](https://kitcommerce.store/gocommerce-svelte-commerce-connector/)

#### 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](https://kitcommerce.store/integrations/)

#### 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](https://kitcommerce.store/vibe-coding-commerce/)

#### 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](https://github.com/itswadesh/gocommerce/blob/main/docs/writing-a-module.md)

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](https://kitcommerce.store/compare/) 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](https://discord.gg/GgdAeccwDR)
- **Discussions** — Svelte Commerce keeps [GitHub Discussions](https://github.com/itswadesh/svelte-commerce/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](https://github.com/itswadesh/gocommerce/issues) or [Svelte Commerce](https://github.com/itswadesh/svelte-commerce/issues). Say what you ran and what came back.
- **Contributing** — for GoCommerce, [`AGENTS.md`](https://github.com/itswadesh/gocommerce/blob/main/AGENTS.md) holds the rules every contributor works under, human or agent, and [`docs/writing-a-module.md`](https://github.com/itswadesh/gocommerce/blob/main/docs/writing-a-module.md) shows how an integration is built. The work that matters most is listed on the [GoCommerce page](https://kitcommerce.store/gocommerce/#roadmap).
- **Changelog** — Svelte Commerce records its changes in [`docs/CHANGELOG.md`](https://github.com/itswadesh/svelte-commerce/blob/main/docs/CHANGELOG.md). GoCommerce has no tagged releases yet, so its [commit history](https://github.com/itswadesh/gocommerce/commits/main) 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](https://discord.gg/GgdAeccwDR) · [GoCommerce issues](https://github.com/itswadesh/gocommerce/issues) · [Svelte Commerce discussions](https://github.com/itswadesh/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.

[Start in five steps](https://kitcommerce.store/open-source/#first-steps) · [GoCommerce on GitHub](https://github.com/itswadesh/gocommerce) · [Svelte Commerce on GitHub](https://github.com/itswadesh/svelte-commerce) · [Join the Discord](https://discord.gg/GgdAeccwDR)
