Opinionated by design

Stop fighting over ports.|

Vivarium assigns your dev stack. You don't configure it. You just run it. Postgres, Valkey, and S3 spin up with zero port decisions on your part.

Vivarium makes decisions. You bring a config file. That's the contract.

If you need to pick specific ports, swap out Postgres for MySQL, or configure your own S3 endpoint, Vivarium is not for you. It trades flexibility for zero cognitive overhead.

Deterministic Ports

Every project gets a unique index. All ports are derived from it arithmetically. No conflicts, no negotiation, ever.

Convention-Based Env

Name your package backend or frontend and the right env vars appear automatically. No wiring required.

MCP-Ready

A postgres-mcp sidecar ships automatically. Wire it to Claude or Cursor in seconds with no extra configuration.

vivarium.json
{
  "services": {
    "postgres": {
      "user": "app",
      "password": "secret",
      "database": "myapp"
    },
    "redis": true
  },
  "packages": {
    "backend": { "envFile": "backend/.env" },
    "frontend": {
      "envFile": "frontend/.env",
      "framework": "vite"
    }
  }
}

That's the whole config. Vivarium does the rest.