Runtime Commands
Start, serve, and manage your application's runtime processes — API server, queue workers, scheduler, UI, and developer tools.
npm run maker <command> [options]pnpm maker <command> [options]yarn maker <command> [options]bun maker <command> [options]Development Server
dev
Start the full development stack — API server, UI, queue worker (if Redis enabled), and optional dev tools — all in parallel with a single command.
What starts:
| Process | Started when | Command |
|---|---|---|
| API server | Always | serve --src (hot-reload via tsx watch) |
| UI | UI != "false" | Vite dev server on port 5173 |
| Queue worker | REDIS != "false" | queue:work --queue=default,mail --src |
| Optional tools | --view / --with flags | MailDev, Redis Commander, Drizzle Studio |
All child processes are tracked. If any required process exits unexpectedly, the entire stack shuts down.
npm run maker devpnpm maker devyarn maker devbun maker devAdditional tools
npm run maker dev -- --view=redis,maildev,studio
npm run maker dev -- --with-redis-view --with-maildev --with-db-studiopnpm maker dev --view=redis,maildev,studio
pnpm maker dev --with-redis-view --with-maildev --with-db-studioyarn maker dev --view=redis,maildev,studio
yarn maker dev --with-redis-view --with-maildev --with-db-studiobun maker dev --view=redis,maildev,studio
bun maker dev --with-redis-view --with-maildev --with-db-studio| Tool | Flag | What it provides |
|---|---|---|
| Redis Commander | redis / --with-redis-view | Web UI at port 1369 to inspect Redis keys |
| MailDev | maildev / --with-maildev | SMTP server at port 1089 + web UI at port 1080 to view sent emails |
| Drizzle Studio | studio / --with-db-studio | Web UI at local.drizzle.studio for database browsing |
ui:dev
Start only the UI dev server (alias: admin:dev). Useful when you want to run the API separately.
npm run maker ui:devpnpm maker ui:devyarn maker ui:devbun maker ui:devProduction Server
serve
Start the HTTP API server.
Flags:
| Flag | Default | Description |
|---|---|---|
--prod | — | Run compiled dist/src/framework/server.js |
--runtime <name> | node | Runtime: node or bun |
--watch | — | Watch for file changes (source mode) |
--src | — | Force source mode even if dist/ exists |
npm run maker serve
npm run maker serve -- --prod
npm run maker serve -- --prod --runtime=node
npm run maker serve -- --runtime=bun
npm run maker serve -- --watch
npm run maker serve -- --srcpnpm maker serve
pnpm maker serve --prod
pnpm maker serve --prod --runtime=node
pnpm maker serve --runtime=bun
pnpm maker serve --watch
pnpm maker serve --srcyarn maker serve
yarn maker serve --prod
yarn maker serve --prod --runtime=node
yarn maker serve --runtime=bun
yarn maker serve --watch
yarn maker serve --srcbun maker serve
bun maker serve --prod
bun maker serve --prod --runtime=node
bun maker serve --runtime=bun
bun maker serve --watch
bun maker serve --srcQueue
queue:work
Start a BullMQ queue worker that processes jobs from named queues.
| Flag | Default | Description |
|---|---|---|
--queue <names> | default | Comma-separated queue names (e.g. default,mail,maintenance) |
--prod | — | Run from compiled dist/ instead of source |
--runtime <name> | node | Runtime: node or bun |
--src | — | Force source mode even if dist/ exists |
npm run maker queue:work
npm run maker queue:work -- --queue=mail
npm run maker queue:work -- --queue=default,mail,maintenance
npm run maker queue:work -- --prod
npm run maker queue:work -- --queue=default,mail --prod --runtime=nodepnpm maker queue:work
pnpm maker queue:work --queue=mail
pnpm maker queue:work --queue=default,mail,maintenance
pnpm maker queue:work --prod
pnpm maker queue:work --queue=default,mail --prod --runtime=nodeyarn maker queue:work
yarn maker queue:work --queue=mail
yarn maker queue:work --queue=default,mail,maintenance
yarn maker queue:work --prod
yarn maker queue:work --queue=default,mail --prod --runtime=nodebun maker queue:work
bun maker queue:work --queue=mail
bun maker queue:work --queue=default,mail,maintenance
bun maker queue:work --prod
bun maker queue:work --queue=default,mail --prod --runtime=nodequeue:clear
Delete all queue-related Redis keys. Useful for resetting stale job state during development.
npm run maker queue:clearpnpm maker queue:clearyarn maker queue:clearbun maker queue:clearScheduler
schedule:work
Start the cron scheduler worker. Executes scheduled tasks defined with defineSchedule() on their configured intervals.
npm run maker schedule:work
npm run maker schedule:work -- --prodpnpm maker schedule:work
pnpm maker schedule:work --prodyarn maker schedule:work
yarn maker schedule:work --prodbun maker schedule:work
bun maker schedule:work --prodTesting
test
Run Vitest backend tests once.
npm run maker test
npm run maker test -- -- --filter=postspnpm maker test
pnpm maker test --filter=postsyarn maker test
yarn maker test --filter=postsbun maker test
bun maker test --filter=poststest:watch
Run Vitest backend tests in watch mode — re-runs on file changes.
npm run maker test:watchpnpm maker test:watchyarn maker test:watchbun maker test:watchtest:coverage
Run Vitest backend tests with code coverage reporting.
npm run maker test:coveragepnpm maker test:coverageyarn maker test:coveragebun maker test:coveragetest:ui
Run Vitest backend tests in the visual UI mode.
npm run maker test:uipnpm maker test:uiyarn maker test:uibun maker test:uiDev Tools
maildev:view
Start MailDev — a combined SMTP server and web email viewer. Catches all outgoing emails during development.
| Service | Port |
|---|---|
| SMTP | 1089 |
| Web UI | 1080 |
npm run maker maildev:viewpnpm maker maildev:viewyarn maker maildev:viewbun maker maildev:viewredis:view
Start Redis Commander — a web UI to browse and manage Redis keys.
| Service | Port |
|---|---|
| Web UI | 1369 |
npm run maker redis:viewpnpm maker redis:viewyarn maker redis:viewbun maker redis:viewvite:cache:clear
Clear Vite caches. Removes .vite directories from node_modules, src/resources, and other locations.
npm run maker vite:cache:clearpnpm maker vite:cache:clearyarn maker vite:cache:clearbun maker vite:cache:clearSummary
| Command | Development | Production |
|---|---|---|
dev | Full stack (API + UI + queue + tools) | — |
serve | API with watch | API without watch |
queue:work | Queue worker from source | Queue worker from dist |
schedule:work | Scheduler from source | Scheduler from dist |
ui:dev | Vite dev server | — |
test | Run tests once | — |
test:watch | Run tests in watch mode | — |
test:coverage | Run tests with coverage | — |
test:ui | Run tests in UI mode | — |
queue:clear | Development cleanup | — |
maildev:view | Email testing | — |
redis:view | Redis inspection | — |
vite:cache:clear | Cache cleanup | — |
