CLI
Kumiko has two command-line surfaces. Which one you use depends on where you work:
- In your app you use the published
@cosmicdrift/kumiko-clipackage, the package scripts thatkumiko new appwrites, and a few binaries from the framework packages. This is all an app developer needs. - In the framework repository (
kumiko-framework) contributors usebun kumiko <verb>. Most of its commands start Docker services, run guards or manage the framework’s own test databases. They do not exist in an app.
In your app
Section titled “In your app”Create an app and add features with the published CLI:
bunx @cosmicdrift/kumiko-cli@latest new app my-appbunx @cosmicdrift/kumiko-cli add feature notesbunx @cosmicdrift/kumiko-cli checkDay to day you run the scripts in the app’s package.json:
| Script | Runs | Purpose |
|---|---|---|
bun dev | bun --watch bin/dev.ts | Dev server with the welcome banner |
bun run boot | bin/main.ts in dry-run mode | Validate features and env without a database |
bun run test | bun test with the unit bunfig | Unit tests |
bun run test:integration | kumiko-testing integration | Integration tests against Postgres |
bun run schema:generate <name> | kumiko-schema generate | Write a SQL migration |
bun run schema:apply | kumiko-schema apply | Apply pending migrations |
bun run build | kumiko-build | Production build into dist/ and dist-server/ |
bun run start | bin/main.ts | Run the production server |
Commands available in an app
Section titled “Commands available in an app”| Command | Comes from | Page |
|---|---|---|
kumiko new app, kumiko add feature | @cosmicdrift/kumiko-cli | new, add |
kumiko check | @cosmicdrift/kumiko-cli | check |
kumiko project, kumiko consumer | @cosmicdrift/kumiko-cli | project, consumer |
kumiko agent lint | @cosmicdrift/kumiko-cli | agent |
kumiko sync-managed, kumiko ports | @cosmicdrift/kumiko-cli | sync-managed, ports |
kumiko api-docs | @cosmicdrift/kumiko-cli | api-docs |
kumiko-upgrade | @cosmicdrift/kumiko-cli, @cosmicdrift/kumiko-dev-server | upgrade |
kumiko-schema, kumiko-build, kumiko-init-deploy | @cosmicdrift/kumiko-dev-server | schema, build, init-deploy |
kumiko-testing | @cosmicdrift/kumiko-testing | Testing standard |
In the production image
Section titled “In the production image”bun run build also bundles a small CLI into dist-server/kumiko.js. It only
knows schema and consumer and needs no dev dependencies:
bun /app/kumiko.js schema applybun /app/kumiko.js consumer listSee Deploy: Docker.
In the framework repository
Section titled “In the framework repository”The commands below live in kumiko-framework/bin/. Run them from a framework
checkout as bun kumiko <verb>. The pages marked framework repository only
describe commands an app does not have.
bun kumiko dev # boot Postgres, Redis, Meilisearch and MinIO (docker compose up -d)bun kumiko doctor # is everything healthy?bun kumiko create myFeature # scaffold a new feature workspacebun kumiko test # run unit tests (bun:test)bun kumiko check # full quality pass (lint + types + guards + tests)bun 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.
Commands are grouped into two roles:
app-dev, the default. Hides framework-maintenance commands.maintainer, auto-detected inside the framework workspace. 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 build, production buildkumiko codemod, code migrations (maintainer)kumiko upgrade, what changed since your versionkumiko changes, author changelog entries
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 the enterprise evaluation package)
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”Each command is a single file under kumiko-framework/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.