Skip to content
v0.3

What is Forge

Forge is an e-commerce kernel: catalogue, cart, checkout, order, payment gate, inventory, identity and tenancy, sharing one transaction and one truth. It is not a platform you rent a tenant on. It is a versioned product you run — one kernel, many instances, each on its owner’s infrastructure.

Every mutation goes through a single command port. There is no second write path — not an admin back door, not a direct table write, not a “just this once” endpoint. A command is a name, a schema, a scope and one database transaction.

That single door is what makes the rest possible. Because there is exactly one place where change happens, the API, the CLI, the MCP server and the SDK are not four implementations of the same idea — they are four projections of one registry, generated from it. So is this documentation’s reference.

The consequence is worth stating plainly: a command that exists is reachable from all four surfaces on the day it lands, and a reference page cannot describe an endpoint that is not there. Not by discipline. By construction.

You learn one vocabulary. catalog.product.create is the HTTP path, the CLI verb, the MCP tool and the SDK method — there is no translation table, because there is no translation.

Terminal window
POST /v1/commands/catalog.product.create # API
forge catalog.product.create --input '{…}' # CLI
catalog.product.create # MCP tool
client.call('catalog.product.create', {…}) # SDK

An agent needs three things a normal API rarely gives it: a narrow credential, a stable vocabulary, and a named refusal when it reaches past what it holds.

Forge gives all three. An API key carries an explicit list of scopes and is itself the actor — the audit trail names the key, not “someone”. The MCP server exposes the registry directly, so an agent’s tool list is the port. And a scope it does not carry comes back as forbidden from the kernel, not from a proxy rule somebody has to remember to replicate.

This is why “AI-native” is a property of the architecture here rather than a feature bolted on: the same decision that makes the surfaces generated is the one that makes an agent safe to hand a key to.

  • Not a SaaS. You pin a version of the kernel image and upgrade when you choose. Your data never moves sideways, and nobody upgrades you overnight. See deploy and the fleet.
  • Not a framework to fork. The kernel changes globally or not at all. Customisation happens in four places outside it — apps, custom fields, decisions, and your own storefront. Forking buys you a divergence you maintain forever.
  • Not a headless CMS with a cart. The storefront and the admin that ship with Forge are a reference implementation: complete, maintained, and replaceable piece by piece or entirely. They talk to the kernel through the same port you do.
If you want to… Start at
Make a call and see something happen API: your first call
Drive it from a terminal CLI: forge login
Point an agent at it MCP: connect an agent
Build against it in TypeScript SDK: npm install
Understand the shape before touching it The kernel & the single port