Skip to content

Commit 453b7ec

Browse files
pontusabcursoragent
andcommitted
docs: improve bull-board discoverability across npm, GitHub, and site
Add bull-board keywords and migration copy to all packages, surface the comparison on the homepage, and wire vs Bull Board links in site nav. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent eb19465 commit 453b7ec

35 files changed

Lines changed: 569 additions & 33 deletions

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1010
### Changed
1111

1212
- **`@getworkbench/core`** README updated: full adapter list, Redis auto-discovery, `WorkbenchOptions` table, `createFetchHandler` example, and `ioredis` peer in install instructions.
13+
- **npm discoverability** — all publishable packages now include `bull-board`, `bull-board-alternative`, and `@bull-board` keywords plus comparison-focused descriptions.
14+
- **GitHub / npm READMEs** — migration section from `@bull-board/*` to `@getworkbench/*` on root README and every adapter README.
15+
- **getworkbench.dev** — homepage comparison section with compact feature table, plus "vs Bull Board" in nav and footer.
1316

1417
## [0.7.0] - 2026-05-27
1518

README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,22 @@ Workbench is a modern dashboard for [BullMQ](https://docs.bullmq.io/). Runs jobs
2020

2121
Website: [getworkbench.dev](https://getworkbench.dev)
2222

23+
## Migrating from bull-board?
24+
25+
Workbench is a drop-in alternative with thirteen first-party framework adapters, FlowProducer DAGs, error triage, and a keyboard-driven UI.
26+
27+
| bull-board | Workbench |
28+
| --- | --- |
29+
| `@bull-board/express` | `@getworkbench/express` |
30+
| `@bull-board/fastify` | `@getworkbench/fastify` |
31+
| `@bull-board/koa` | `@getworkbench/koa` |
32+
| `@bull-board/nestjs` | `@getworkbench/nestjs` |
33+
| `@bull-board/hono` | `@getworkbench/hono` |
34+
| `@bull-board/h3` | `@getworkbench/h3` |
35+
| `@bull-board/elysia` | `@getworkbench/elysia` |
36+
37+
Run `npx @getworkbench/cli init` to swap the mount in one command. Full comparison: [getworkbench.dev/blog/workbench-vs-bull-board](https://getworkbench.dev/blog/workbench-vs-bull-board)
38+
2339
## Quick start
2440

2541
```bash

apps/web/src/app/page.tsx

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ import {
1414
Twitter,
1515
} from "lucide-react";
1616
import Image from "next/image";
17+
import Link from "next/link";
1718
import { ActionButton } from "../components/action-button";
19+
import { CompareTable } from "../components/blog/compare-table";
1820
import { CopyCommand } from "../components/copy-command";
1921
import {
2022
AdonisLogo,
@@ -41,6 +43,7 @@ import {
4143
TestMockup,
4244
} from "../components/mockups";
4345
import { ThemeToggle } from "../components/theme-toggle";
46+
import { COMPARISON_ROWS } from "../lib/blog/comparison";
4447

4548
/** Update once the desktop app has a tagged GitHub Release. */
4649
const MAC_DOWNLOAD_URL =
@@ -55,6 +58,7 @@ const DOCKER_RUN_COMMAND = `docker run --rm -p 3000:3000 \\
5558
const SPONSORS_URL = "https://github.com/sponsors/pontusab";
5659
const TWITTER_URL = "https://x.com/pontusab";
5760
const DOCS_URL = "https://github.com/pontusab/workbench#readme";
61+
const COMPARISON_URL = "/blog/workbench-vs-bull-board";
5862
const INSTALL_COMMAND = "npx @getworkbench/cli init";
5963

6064
/**
@@ -273,6 +277,8 @@ export default function Page() {
273277

274278
<BuiltForDevs />
275279

280+
<ComparisonSection />
281+
276282
<InstallSection />
277283

278284
<Footer />
@@ -307,6 +313,12 @@ function Nav() {
307313
>
308314
Blog
309315
</a>
316+
<Link
317+
href={COMPARISON_URL}
318+
className="hidden transition hover:text-[color:var(--color-foreground)] md:inline"
319+
>
320+
vs Bull Board
321+
</Link>
310322
<a
311323
href={DOCS_URL}
312324
target="_blank"
@@ -623,6 +635,48 @@ function BuiltForDevs() {
623635
);
624636
}
625637

638+
/* -------------------------------------------------------------------------- */
639+
/* bull-board comparison */
640+
/* -------------------------------------------------------------------------- */
641+
642+
function ComparisonSection() {
643+
return (
644+
<section
645+
id="compare"
646+
className="scroll-mt-16 border-t border-[color:var(--color-border)]/60 px-6 py-20 md:px-10 md:py-28"
647+
>
648+
<div className="mx-auto max-w-6xl">
649+
<div className="max-w-2xl">
650+
<div className="font-mono text-[11px] uppercase tracking-[0.2em] text-[color:var(--color-muted-foreground)]">
651+
vs Bull Board
652+
</div>
653+
<h2 className="mt-3 text-balance text-3xl font-semibold tracking-tight md:text-4xl">
654+
The modern bull-board alternative for BullMQ.
655+
</h2>
656+
<p className="mt-4 text-balance text-base leading-relaxed text-[color:var(--color-muted-foreground)]">
657+
Bull Board is the dashboard everyone already knows. Workbench covers
658+
the same Redis queues with thirteen first-party adapters, FlowProducer
659+
DAGs, error triage, and a keyboard-driven UI — plus a native macOS app
660+
and standalone Docker image.
661+
</p>
662+
<p className="mt-4">
663+
<Link
664+
href={COMPARISON_URL}
665+
className="text-sm font-medium text-[color:var(--color-foreground)] underline decoration-[color:var(--color-border)] underline-offset-4 transition hover:decoration-[color:var(--color-foreground)]"
666+
>
667+
Read the full comparison →
668+
</Link>
669+
</p>
670+
</div>
671+
672+
<div className="mt-10">
673+
<CompareTable rows={COMPARISON_ROWS} compact />
674+
</div>
675+
</div>
676+
</section>
677+
);
678+
}
679+
626680
/* -------------------------------------------------------------------------- */
627681
/* Install / final CTA */
628682
/* -------------------------------------------------------------------------- */
@@ -749,6 +803,12 @@ function Footer() {
749803
>
750804
Docs
751805
</a>
806+
<Link
807+
href={COMPARISON_URL}
808+
className="transition hover:text-[color:var(--color-foreground)]"
809+
>
810+
vs Bull Board
811+
</Link>
752812
<a
753813
href={SPONSORS_URL}
754814
target="_blank"

apps/web/src/components/blog/blog-chrome.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ interface BlogChromeProps {
1010

1111
const GITHUB_URL = "https://github.com/pontusab/workbench";
1212
const SPONSORS_URL = "https://github.com/sponsors/pontusab";
13+
const COMPARISON_URL = "/blog/workbench-vs-bull-board";
1314

1415
/**
1516
* Shared header + footer used by both the blog index and individual post
@@ -50,6 +51,12 @@ export function BlogChrome({ children }: BlogChromeProps) {
5051
>
5152
Blog
5253
</Link>
54+
<Link
55+
href={COMPARISON_URL}
56+
className="hidden transition hover:text-[color:var(--color-foreground)] md:inline"
57+
>
58+
vs Bull Board
59+
</Link>
5360
<a
5461
href={GITHUB_URL}
5562
target="_blank"

packages/adonis/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@ AdonisJS adapter for [Workbench](https://getworkbench.dev) — a beautiful, open
1010

1111
Works with AdonisJS 6 and 7. Mounts as catch-all routes in your existing Adonis app.
1212

13+
## Migrating from bull-board?
14+
15+
Workbench covers the same BullMQ use case with a modern UI, broader framework support, and a one-command install. Remove your `@bull-board/*` packages and run `npx @getworkbench/cli init`.
16+
17+
Full comparison: [Workbench vs Bull Board](https://getworkbench.dev/blog/workbench-vs-bull-board)
18+
1319
## Install
1420

1521
```bash

packages/adonis/package.json

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@getworkbench/adonis",
33
"version": "0.7.0",
4-
"description": "AdonisJS adapter for Workbench — drop-in BullMQ dashboard.",
4+
"description": "AdonisJS adapter for Workbench — modern BullMQ dashboard with broader framework coverage than bull-board.",
55
"type": "module",
66
"main": "./dist/index.js",
77
"types": "./dist/index.d.ts",
@@ -39,5 +39,29 @@
3939
},
4040
"engines": {
4141
"node": ">=18"
42-
}
42+
},
43+
"keywords": [
44+
"bullmq",
45+
"workbench",
46+
"getworkbench",
47+
"adonis",
48+
"adonisjs",
49+
"queue",
50+
"dashboard",
51+
"redis",
52+
"jobs",
53+
"background-jobs",
54+
"job-queue",
55+
"bull-board",
56+
"bull-board-alternative",
57+
"@bull-board",
58+
"monitoring"
59+
],
60+
"repository": {
61+
"type": "git",
62+
"url": "git+https://github.com/pontusab/workbench.git",
63+
"directory": "packages/adonis"
64+
},
65+
"homepage": "https://getworkbench.dev",
66+
"license": "MIT"
4367
}

packages/astro/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@ Astro adapter for [Workbench](https://getworkbench.dev) — a beautiful, open-so
1010

1111
Mounts as a single catch-all route in your existing Astro app. No separate service.
1212

13+
## Migrating from bull-board?
14+
15+
Workbench covers the same BullMQ use case with a modern UI, broader framework support, and a one-command install. Remove your `@bull-board/*` packages and run `npx @getworkbench/cli init`.
16+
17+
Full comparison: [Workbench vs Bull Board](https://getworkbench.dev/blog/workbench-vs-bull-board)
18+
1319
## Install
1420

1521
```bash

packages/astro/package.json

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@getworkbench/astro",
33
"version": "0.7.0",
4-
"description": "Astro adapter for Workbench — drop-in BullMQ dashboard.",
4+
"description": "Astro adapter for Workbench — modern BullMQ dashboard with broader framework coverage than bull-board.",
55
"type": "module",
66
"main": "./dist/index.js",
77
"types": "./dist/index.d.ts",
@@ -39,5 +39,28 @@
3939
},
4040
"engines": {
4141
"node": ">=18"
42-
}
42+
},
43+
"keywords": [
44+
"bullmq",
45+
"workbench",
46+
"getworkbench",
47+
"astro",
48+
"queue",
49+
"dashboard",
50+
"redis",
51+
"jobs",
52+
"background-jobs",
53+
"job-queue",
54+
"bull-board",
55+
"bull-board-alternative",
56+
"@bull-board",
57+
"monitoring"
58+
],
59+
"repository": {
60+
"type": "git",
61+
"url": "git+https://github.com/pontusab/workbench.git",
62+
"directory": "packages/astro"
63+
},
64+
"homepage": "https://getworkbench.dev",
65+
"license": "MIT"
4366
}

packages/bun/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@
1010

1111
Returns a `fetch` handler you drop straight into `Bun.serve({ fetch })`. No router, no framework, no separate service.
1212

13+
## Migrating from bull-board?
14+
15+
Workbench covers the same BullMQ use case with a modern UI, broader framework support, and a one-command install. Remove your `@bull-board/*` packages and run `npx @getworkbench/cli init`.
16+
17+
Full comparison: [Workbench vs Bull Board](https://getworkbench.dev/blog/workbench-vs-bull-board)
18+
1319
## Install
1420

1521
```bash

packages/bun/package.json

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@getworkbench/bun",
33
"version": "0.7.0",
4-
"description": "Bun.serve adapter for Workbench — drop-in BullMQ dashboard.",
4+
"description": "Bun.serve adapter for Workbench — modern BullMQ dashboard with broader framework coverage than bull-board.",
55
"type": "module",
66
"main": "./dist/index.js",
77
"types": "./dist/index.d.ts",
@@ -38,5 +38,29 @@
3838
},
3939
"engines": {
4040
"bun": ">=1.1.0"
41-
}
41+
},
42+
"keywords": [
43+
"bullmq",
44+
"workbench",
45+
"getworkbench",
46+
"bun",
47+
"bun.serve",
48+
"queue",
49+
"dashboard",
50+
"redis",
51+
"jobs",
52+
"background-jobs",
53+
"job-queue",
54+
"bull-board",
55+
"bull-board-alternative",
56+
"@bull-board",
57+
"monitoring"
58+
],
59+
"repository": {
60+
"type": "git",
61+
"url": "git+https://github.com/pontusab/workbench.git",
62+
"directory": "packages/bun"
63+
},
64+
"homepage": "https://getworkbench.dev",
65+
"license": "MIT"
4266
}

0 commit comments

Comments
 (0)