Getting Started

Quick start

Add Workbench to your project in one command with the CLI, or wire it up manually with your framework adapter.

Run from your project root:

$
npx @getworkbench/cli init

The CLI:

  1. Detects your framework (Hono, Express, Next.js, NestJS, and nine others)
  2. Installs @getworkbench/<framework> and bullmq
  3. Injects the dashboard mount with sensible defaults
  4. Writes .env.example entries for Redis and basic auth
  5. Optionally drops a docker-compose.yml for local Redis

CLI options

Shell
workbench init [options]

  --cwd <path>      Project directory (default: cwd)
  --mount <path>    Mount path for the dashboard (default: /jobs)
  --no-auth         Skip basic auth setup
  --no-docker       Skip docker-compose Redis setup
  --yes             Skip all prompts, use defaults

Non-interactive example:

$
npx @getworkbench/cli init --yes --no-docker

Manual setup

Prefer to wire it yourself? Pick the adapter that matches your stack from the framework guides, install the package, and mount Workbench at a path of your choice (default /jobs).

Every adapter exports a workbench(options) function. Pass your BullMQ Queue instances and optional auth:

TypeScript
workbench({
  queues: [emailQueue],
  basePath: "/jobs",
  auth: {
    username: process.env.WORKBENCH_USER!,
    password: process.env.WORKBENCH_PASS!,
  },
});

Run Redis locally

If you don't have Redis running yet:

Shell
docker compose up -d redis

Set REDIS_URL=redis://localhost:6379 in your environment.

Open the dashboard

Start your app and visit http://localhost:PORT/jobs (or whatever mount path you chose).

See Authentication and Environment variables for production setup.