- Shell 97.2%
- Nix 2.3%
- Go Template 0.5%
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| bin | ||
| docs | ||
| recipe | ||
| scripts | ||
| wiki | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| ORIGIN | ||
| README.md | ||
Mitosis — grow your own software platform
Describe the software you want in plain words, and an AI build crew builds it, tests it by clicking through it in a real browser, and puts it live at a web address — on hardware you own. Your ideas go in as sentences; working tools come out as URLs. And when you're ready, your platform can clone itself onto a fresh machine and hand someone else the same power.
Not technical? Start with the wiki's plain-language track:
The Big Idea ·
A Day With Your Crew ·
Questions People Ask.
Every platform grown from this repo carries its own copy of these pages in its
Wiki tab — the wiki ships in the seed (wiki/) and is the full
guide, from first app to platform internals.
Grow one
git clone https://git.open-platform.sh/plat/mitosis
cd mitosis
CLAUDE_CODE_OAUTH_TOKEN=<your-token> nix run .#up
That's the whole install. Go make coffee — the first run builds the platform from source and takes 30–60 minutes, then prints a YOUR PLATFORM card with your domain, your admin logins (Git and Grafana), and exactly how to reach everything.
You need: Nix with flakes (it brings every
other tool along), Docker with ~4 CPUs and 10 GB, host ports 80/443 free (or set
HTTP_PORT/HTTPS_PORT), and one Claude credential — CLAUDE_CODE_OAUTH_TOKEN
(subscription) or ANTHROPIC_API_KEY (API billing). You can add the credential
later; the crew idles until one is set. Linux is the tested path; macOS works on
a best-effort basis. Custom domain: DOMAIN=acme.local nix run .#up.
| First-run stage | Rough time |
|---|---|
| Create the cluster | ~2 min |
| Bootstrap the Git server | ~2 min |
| GitOps reconcile + Postgres cold start | 10–20 min |
| Build the platform's images (CI) | 15–25 min |
If a step fails, it tells you which one; the fix is almost always
k3d cluster delete plat and re-run — setup is one-shot by design.
⚠ Keep your sovereign key safe — forever. The card points at a generated
agekey file. It is the only key to every secret on your platform. Back it up somewhere offline you trust.
Use it
The card prints the exact lines, but the shape is: point your machine at the
cluster (/etc/hosts), trust the platform's CA, open https://git.<domain>,
and click Use this template on _app-template — the name and description
you type are the spec. Within a minute the crew opens the first pull request
and builds in the open; a validator browser-tests it; it ships to
https://<app>-<you>.<domain> with its own documentation in the repo's Wiki
tab, written by the crew as it built.
From there, everything is the wiki's Experience track:
Build Your First App ·
Building with Issues ·
Orgs and Planning ·
Connect Your Agent
(point Claude Code or any MCP harness at mcp.<domain> and build from your own
chair).
Run it
- Meters and levers:
https://grafana.<domain>ships from birth — fleet allocation, spend burn, and the flow-control forms. Steering the Fleet - People and access: Users, Teams and Access
- When it breaks: a failed setup step → delete the cluster and re-run; agents
idle → seal a Claude credential (the card prints how); logs →
kubectl -n agents logs deploy/agents.
Reproduce it
Your platform can have children: PLAT_PAT=<forgejo-pat> nix run .#seed
snapshots it; anyone with the result and this repo grows their own sovereign
platform — fresh keys, fresh secrets, its own identity, lineage recorded. For a
public domain, a bare VPS, or adding machines:
Grow Your Own Platform
and docs/deploy/hetzner-vps.md.
Under the hood
Forgejo is the whole control plane; a gitops repo is the substrate the cluster converges on; the build crew runs on a non-privileged, isolated CI pool with no escape path to your machine; every claim is enforced by a cold-start gate that germinates a complete platform in CI before any change merges. The honest engineering tour: Architecture · Platform Internals · Security Model · CI and Builds · Reference
Supported by
Open Platform is supported by espodev, who build and run production implementations for teams that want one delivered. The platform itself is yours to run — nothing here requires them.