Requirements
What you need on your machine to develop with Kumiko.
Runtime
Section titled “Runtime”| Tool | Version | Why |
|---|---|---|
| Bun | ≥ 1.2 | runtime, package manager, test runner, bundler |
| Node.js | ≥ 20 | optional — Astro/docs site builds only |
| Docker | any recent | local PostgreSQL + Redis containers |
Bun handles server execution, tests, and CLI. Node is only needed when building the docs/marketing Astro sites.
Services (run via bun kumiko dev)
Section titled “Services (run via bun 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
Section titled “Production”Same Bun version in production. The server bundle is self-contained except for native externals that stay as runtime deps:
argon2, bullmq, postgres, ioredis, temporal-polyfillPinned via packages/framework/package.json — production image runs
bun install --production against the generated server bundle.
Optional
Section titled “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
Section titled “What you DON’T need”- npm, pnpm, or Yarn — Bun only (
bun.lock) - Global TypeScript / Vite installs — all workspace-local
- drizzle-kit / drizzle-orm as global tools — schema via
kumiko schemaor legacykumiko migrateper app