CLI
The kumiko CLI is the daily-driver surface for working with a Kumiko app.
It boots local Docker services, runs codegen, migrates the database,
manages event consumers and projections, runs tests, and ships production
builds — all with a single kumiko <verb> entry point.
The 30-second tour
Section titled “The 30-second tour”bun kumiko dev # boot Postgres + Redis + Meilisearch (docker compose up -d)bun kumiko doctor # is everything healthy?bun kumiko create myFeature # scaffold a new feature workspacebun kumiko codegen # regenerate .kumiko/define.ts + types.generated.d.tsbun kumiko schema generate my-change # generate a migrationbun kumiko schema apply # apply pending migrationsbun kumiko test # run unit tests (bun:test)bun kumiko check # full quality pass (lint + types + guards + tests)bun kumiko build # production buildbun kumiko stop # bring services down (volumes stay)Running kumiko with no arguments opens an interactive TUI (Ink-based) for
discovering commands. Pipe-friendly contexts (CI, scripts) fall back to a
plain help screen.
The CLI is role-aware. Commands are grouped into two roles:
app-dev— what you get when you runkumikoinside an app workspace. Hides framework-maintenance commands you don’t need.maintainer— auto-detected insidecosmicdriftgamestudio/. Adds ES-ops, code mods, CI guards, AI-eval delegation.
Override with --as <role>:
kumiko events prune --as maintainerCommands
Section titled “Commands”Lifecycle
Section titled “Lifecycle”kumiko dev— boot local Docker serviceskumiko stop— stop services (data stays)kumiko reset— wipe volumes + restartkumiko status— services + git at a glancekumiko doctor— health checkkumiko docs— open these docs in your browser
kumiko new app— scaffold a runnable app workspacekumiko add feature— add a feature to the current appkumiko create <name>— scaffold a recipe/feature workspacekumiko init-deploy— Dockerfile + migrate step templateskumiko codegen— regenerate per-app codegenkumiko build— production buildkumiko codemod— code migrations (maintainer)
Quality
Section titled “Quality”kumiko check— full quality passkumiko check:fast— fast iteration loop (maintainer)kumiko test— bun:test / Playwright runner
Maintainer-only unless you pass --as maintainer:
kumiko schema— DB schema migrationskumiko events— events table (prune) (maintainer)kumiko consumer— event consumers (maintainer)kumiko project— projections (list/status/rebuild)kumiko ops— ES seed workflow (maintainer)kumiko clean-test-dbs— drop orphan test DBs (maintainer)
Framework-internal (maintainer only)
Section titled “Framework-internal (maintainer only)”kumiko ci:guards— CI job splitterkumiko eval— L2 AI eval (delegates to kumiko-enterprise)
kumiko help # role-filtered command listkumiko help <command> # per-command usage + docs URLkumiko <command> --help # same as `kumiko help <command>`kumiko docs <command> # open the docs page for one commandWhere the CLI lives
Section titled “Where the CLI lives”The CLI lives in kumiko-framework/bin/. Each command is a single file
under bin/commands/ that registers itself via defineCommand at import
time. Adding a new command is a one-file change plus a side-effect import in
bin/commands/index.ts.
The legacy 1600-LOC monolith (bin/kumiko-legacy.ts) hosts the
parallel-lock + tee-logging machinery for check/check:fast/ci:guards
until Sprint C extracts it. End users never call it directly.