Development Workflow
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.Staging-First Setup
1
Install prerequisites
- Bun 1.0+
- AWS CLI access to the staging Parameter Store (read-only)
2
Fetch staging endpoints
3
Create your .env
Paste the values retrieved from Parameter Store:
4
Start the gateway
scripts/dev.sh loads the .env, validates required keys, and starts the gateway with hot reload.Only Bun and a populated
.env are required. You do not need Rust, Go, or Docker for this workflow.What Runs Locally vs Remotely
Local
Gateway (Bun), SQLite databases under
./data, and logs.Remote (Staging)
Podium coordinator, Ensemble inference, Chronicle workspace sync, and sandbox execution.
Why This Works
Diminuendo’s minimal external dependency stack meansbun 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.