Requirements
What you need on your machine to develop with Kumiko.
Runtime
| Tool | Version | Why |
|---|---|---|
| Bun | ≥ 1.2 | server runtime + bundler (yarn kumiko build) |
| Node.js | ≥ 20 | needed by Yarn 4 + Astro for the docs site |
| Yarn | 4.14+ | workspace manager (auto-installed via corepack) |
| Docker | any recent | local PostgreSQL + Redis containers |
Bun handles all server-side execution (HTTP, dispatcher, pipeline). Node only powers tooling that doesn’t run with Bun yet (Yarn, Astro builds).
Services (run via yarn kumiko dev)
| Service | Port | Why |
|---|---|---|
| PostgreSQL 17 | 15432 | primary store (event store + projections) |
| Redis 7 | 16379 | SSE pub/sub + rate limiting + caching |
| Meilisearch | optional | full-text search backend (when used) |
High ports avoid conflicts with system installs of the same services.
Production
Same versions in production. Bun bundle is self-contained except for 7 native externals that stay as runtime deps:
argon2, bullmq, drizzle-kit, drizzle-orm, ioredis, postgres, temporal-polyfillPinned via packages/framework/package.json — production image just runs bun install --production against the generated server bundle.
Optional
- GitHub CLI (
gh) — for PR/issue work from the command line - Pulumi — only if you deploy to K3s yourself (the K3s deploy guide covers it)
What you DON’T need
- npm or pnpm — Yarn 4 only (lockfile + workspace protocol differs)
- Global TypeScript / Vite / Drizzle installs — all are workspace-local