Diminuendo is designed to run locally while using staged backend services for Podium and Ensemble. This keeps the development loop fast and avoids building Rust/Go services unless you are modifying them directly.
Diminuendo’s minimal external dependency stack means bun dev is the only command needed to start developing. The gateway binary handles everything locally — SQLite databases are created on demand, migrations run automatically, and dev mode bypasses authentication. The heavy runtime dependencies (agent orchestration, LLM inference, sandbox execution) are delegated to staging services via the .env configuration.This is a deliberate architectural choice: by keeping the gateway self-contained (Bun + SQLite, no Postgres, no Redis), the local development experience requires only a JavaScript runtime and network access to staging endpoints.
If you are developing Podium, Ensemble, or Chronicle, you will need to build those services locally. Follow the README’s Full Development Stack section to build submodules and start the services on the standard ports (Podium 5082, Ensemble 5180, MinIO 9000, Valkey 6379).
Ramp Inspect and similar systems place the full development environment inside containers (Modal sandboxes with complete service stacks). Diminuendo instead keeps the gateway local and points it to staging services, which reduces setup time and keeps iteration fast. The trade-off is that you depend on staging service availability for features that touch Podium or Ensemble — but for gateway-only development (protocol changes, automation logic, RBAC, event handling), no external services are needed at all.