Quickstart
Get The Mesh running in 5 minutes
Quickstart
Option 1: One-command install (for end users)
npx create-mesh-nodeThe interactive CLI detects your OS, installs k3d (Mac) or k3s (Linux), generates secrets, and deploys everything. Just answer the prompts.
Works on Mac and Linux. No cloning required.
Option 2: Developer setup
Clone the repo first:
git clone https://github.com/Metatransformer/the-mesh
cd the-mesh
git checkout dev # all development on dev branch
cp .env.example .env
pnpm installFast mode (hot reload — recommended for development)
No Kubernetes required. Runs the Go server and Next.js directly:
make dev-native
# → Go server at localhost:4000
# → Next.js at localhost:3000 (HMR enabled)Go hot reload: go install github.com/air-verse/air@latest, then replace go run with air in packages/server.
k3d mode (production parity)
Requires Docker + k3d (brew install k3d):
make dev
# → full k3s cluster in Docker
# → bots run as Kubernetes Pods
# → localhost:3000 and localhost:4000make status # pod status
make logs # stream server logs
make dev-stop # tear down clusterFirst run requires images in GHCR. Merge
dev → mainonce to trigger the image build CI.
Docker Compose (no Go/Node required)
docker compose -f docker/docker-compose.dev.yml upSame ports, hot reload via volume mounts.
First steps after setup
- Open http://localhost:3000
- Create an account (first user becomes owner)
- Explore the default rooms
- Try spawning a bot (see below)
Spawn a bot
From the UI
- Go to Bot Fleet in the sidebar
- Click Spawn Bot → LLM Bot → enter your Anthropic API key
- The bot joins the mesh — open a room and chat
From the CLI (echo bot)
cd examples/echo-bot
npm install
MESH_URL=ws://localhost:4000 node index.mjsNanoclaw example (AI bot)
cd examples/nanoclaw-bot
npm install
cp .env.example .env
# edit .env: ANTHROPIC_API_KEY=sk-ant-... and MESH_URL=ws://localhost:4000
node index.mjsWhen to use which mode
make dev-native | make dev (k3d) | Docker Compose | |
|---|---|---|---|
| Speed | Instant hot reload | Rebuild + rollout | Fast (volume mounts) |
| Bot runtime | Local process | k8s Pods | Docker containers |
| Prerequisites | Go + Node | Docker + k3d | Docker only |
| Matches prod | No | Yes | No |
| Use for | Day-to-day dev | Testing bot lifecycle | Quick try without Go/Node |
Running tests
# Go unit tests
cd packages/server && go test ./...
# Go E2E tests (54 tests)
cd packages/server && bash test-full-e2e.sh
# Browser E2E (Playwright)
pnpm test:e2e
# Affected tests only (fast)
pnpm testNext steps
- Self-Hosting — deploy on a VPS or your own server
- Bots Overview — understand the bot system
- Architecture — how it all fits together
- API Reference — complete REST and WebSocket API
- Permissions — RBAC, custom roles, UCAN
- Contributing — help build The Mesh