Skip to content

CLI

npx watukuy mirrors the engine operations. Commands load the engine from a config module (--config, default ./watukuy.config.{ts,mts,js,mjs}) that does export default engine, export const engine = createWatukuy(...), or export default { engine }; written in TypeScript it runs directly on Node 22.18+ / 24.

Terminal window
npx watukuy inspect --config ./watukuy.config.ts [--json]
npx watukuy tick --config ./watukuy.config.ts --max-duration 50s # one pass, then exit
npx watukuy run --config ./watukuy.config.ts # daemon until SIGINT/SIGTERM
npx watukuy trigger --poller orders [--partition t_42]
npx watukuy pause --poller orders
npx watukuy resume --poller orders
npx watukuy backfill --poller orders --from null [--to <cursor>] [--force] [--partition t_42]
npx watukuy replay --poller orders --from 2026-09-01T00:00:00Z [--to <iso|ms>]
npx watukuy reset-cursor --poller orders --to null --clear-snapshot
npx watukuy parked ls --poller orders [--kind poison|invalid]
npx watukuy parked retry --poller orders --ids <id>,<id>
npx watukuy parked discard --poller orders --ids <id>
npx watukuy migrate --store sqlite --path ./watukuy.db # or --store postgres --url "$DATABASE_URL", or --config

--json switches every command to machine-readable output. Programmatic use: import { runCli } from 'watukuy/cli'.

Related: runbook.md, api.md, stores.md.