Open-source AI Management System for your company.
Agents, skills, memory, and policies live as files in a git-like project workspace you own. Work runs in local session branches. Finished work lands through human-approved change requests. Built on Eve — Vercel’s filesystem-first durable agent framework.
Self-host free. Target 1 is a customer-owned Railway template with BYO infrastructure and model keys. Runyard Cloud comes later as a managed service. See the launch decision.
Local command center is runnable on Eve + Next. Demo data persists under .crew-data/. CI runs typecheck + Eve evals (.github/workflows/ci.yml).
| Area | What works today |
|---|---|
| P2 git OS | Projects as git repos, session branches, change requests, Review |
| P3 workforce | Agents/skills, templates, marketplace install stub, enable/disable |
| P4–P5 ops | Secrets, connectors + broker, approvals, cron/webhooks, idle reap |
| P6 sandbox | Docker + Vercel through Eve; Railway checkpoint adapter; Runyard preview bridge; provider capability matrix and crew sandbox |
| P7 channels/CLI | Slack/Discord/Teams inbound stubs, crew CLI (projects/sessions/billing/sandbox/llm/auth/tenant), Compose self-host |
| P8 billing | Seats, wallets, Stripe checkout + HMAC webhook, credit holds, budgets/BYOK, crew billing |
| P9 enterprise | OIDC PKCE auth + rate limits, SCIM Users, audit export, Postgres world, evals/CI, dedicated SKU, LLM route + token-proxy plan, org pin (CREW_ORG_ID) |
- Live Stripe Dashboard + IdP token exchange (HMAC verify + OIDC authorize/callback stubs are ready)
- Live Runyard SSE/
spawnand enforced Sandbox egress (native bridge meters policy as a no-op) - Multi-org request routing (process pin + optional
.crew-data/orgs/<orgId>shard —docs/multi-tenant.md) - Live LLM upstream token proxy + Braintrust eval dashboards (plan/stub proxy is ready —
docs/llm-gateway.md)
Brand and licensing split: docs/brand-split.md. Cloud plans: docs/cloud-sku.md.
- Runtime: Eve
^0.31(durable sessions, tools, skills, channels, sandbox) - UI: Next.js 16 (
proxy.tsrequest gating) +withEve/ Web Chat command center at/projects - Workflows: Eve local world by default (
.eve/.workflow-data); Postgres viaDATABASE_URL/@workflow/world-postgresfor self-host/Railway (seedocs/world.md) - Sandbox: Docker locally, Railway Sandboxes on Railway, Vercel Sandbox on Vercel, and Runyard preview via
@runyard/sandbox-provider - Evals: Eve
evals/harness (npm run eval) — smoke placeholders skip without model keys (seedocs/evals.md)
- Node.js 24.x
- Docker (for local sandbox / Compose Postgres)
- A model credential (
AI_GATEWAY_API_KEYor provider keys)
Railway cannot use the local Docker sandbox. Configure a Railway project token
for the native Railway Sandbox adapter plus a model provider before chatting
with the agent. See
docs/railway.md for the complete service, volume, security,
and template profile.
git clone https://github.com/runyard-dev/runyard-crew.git
cd runyard-crew
npm install
cp .env.example .env # add AI_GATEWAY_API_KEY or provider keys
# Optional: Postgres for durable workflow world
docker compose up -d
# npm run world:bootstrap # with DATABASE_URL / WORKFLOW_POSTGRES_URL set
# Seed demo project (also happens automatically on first API access)
npm run seed
# Web command center (Next + Eve)
npm run devOpen http://localhost:3666/projects. Demo project: Acme Ops (acme-ops).
npm run crew -- projects list
npm run crew -- projects create --name "Ops Desk" --template ops
npm run crew -- sessions new acme-ops --prompt "Draft weekly report"
npm run crew -- sessions list acme-ops
npm run crew -- sessions stop <sessionId>
npm run crew -- audit export --format jsonl -o /tmp/crew-audit.jsonl
npm run crew -- billing status
npm run crew -- billing topup --wallet aiCredits --amount 100
npm run crew -- sandbox status
CREW_RUNYARD_SDK_STUB=1 npm run crew -- sandbox probe
npm run crew -- llm status
npm run crew -- llm proxy --alias fast --message "ping"
npm run crew -- auth status
npm run crew -- tenant status
npm run crew -- world status --ping
npm run eval -- --list
npm run crew -- cr list acme-ops --status open
npm run crew -- skills install acme-ops standup-notes
npm run crew -- templates listSee docs/cli.md. Talks to the same .crew-data/ store as the web UI (does not run the agent loop).
Postgres-only (for local npm run dev):
docker compose up -dFull stack (Postgres + web image):
docker compose --profile full up -d --build
# or
npm run crew -- self-host upSee docs/self-host.md.
| Route | Purpose |
|---|---|
/projects |
Project list + create |
/projects/start |
Create wizard |
/projects/[id] |
Home composer — start a session |
/projects/[id]/sessions/[sessionId] |
Eve chat + Actions / Files / Audit / Approvals |
/projects/[id]/files |
Repo file tree |
/projects/[id]/agents |
Agents from crew.yaml |
/projects/[id]/skills |
Skill docs |
/projects/[id]/connectors |
Connectors |
/projects/[id]/triggers |
Triggers (toggle) |
/projects/[id]/review |
Change requests merge/close |
/projects/[id]/settings |
Project settings |
/approve/[id] |
Approve / deny (public deep link — see docs/auth.md) |
/billing |
Seats, wallets, Stripe stub, budgets — see Billing UI + docs/cloud-sku.md + docs/stripe.md |
/login |
Auth/SSO stub — docs/auth.md |
/audit |
Org audit export — docs/audit.md |
/api/crew/world |
Workflow world status — docs/world.md |
/api/crew/scim/v2 |
SCIM Users stub — docs/scim.md |
/api/crew/llm · /api/crew/llm/proxy |
LLM backends (AI Gateway / OpenRouter / Cloudflare) + token-proxy plan — docs/llm-gateway.md |
/api/crew/tenant |
Org pin / isolation stub — docs/multi-tenant.md |
/api/crew/billing/stripe/webhook |
Stripe HMAC webhook — docs/stripe.md |
/api/crew/auth · /api/crew/auth/oidc/callback |
Auth + OIDC — docs/auth.md |
/api/crew/projects/[id]/channels/* |
Slack / Discord / Teams inbound stubs — docs/channels.md |
/api/crew/hooks/[triggerId] |
Webhook triggers (X-Crew-Webhook-Secret) — docs/triggers.md |
| Doc | Topic |
|---|---|
| docs/sandbox-runyard.md | Runyard SDK sandbox hook |
| docs/sandbox-providers.md | Docker, Vercel, Runyard, E2B, Daytona, and Cloudflare provider contract |
| docs/functional-parity-roadmap.md | End-to-end functional parity milestones |
| docs/cli.md | crew CLI commands |
| docs/llm-gateway.md | AI Gateway / OpenRouter / Cloudflare backends + token-proxy plan |
| docs/stripe.md | Stripe checkout webhook HMAC |
| docs/multi-tenant.md | Org pin / Cloud isolation notes |
| docs/brand-split.md | Crew OSS vs Cloud / Sandbox |
| docs/self-host.md | Docker Compose |
| docs/world.md | Postgres Workflow world |
| docs/auth.md | Login / SSO env |
| docs/scim.md | IdP provisioning |
| docs/audit.md | Compliance export |
| docs/channels.md | Chat channel stubs |
| docs/triggers.md | Cron + webhook triggers |
| docs/cloud-sku.md | Cloud plans including Dedicated |
| docs/evals.md | eve eval harness |
Data lives in .crew-data/ (gitignored). Installed Eve docs: node_modules/eve/docs/.
| Product | Role |
|---|---|
| Crew (this repo) | AI team / management system |
| Runyard Sandbox | Hardware-isolated microVM compute |
| Runyard Cloud | Managed Crew + Sandbox |