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.
- 2GitHub stars, GoCommerce
- 1,815GitHub stars, Svelte Commerce
- MITboth packages
- 0paid 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.
- Download
docker-compose.yml - Save
env.exampleas.env - Set your secrets
docker compose up -d- 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 startRun 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 startOn 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.
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
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
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
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 agentsskills/— 15 task guides and an index- MCP — 19 tools, through the same services as REST
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
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.mdholds the rules every contributor works under, human or agent, anddocs/writing-a-module.mdshows 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 discussionsGoCommerce’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.