ReviewOS

stacks/better-dx

Dependency on buddy-bot pins consumers to the abandoned pre-rename package (0.10.5)

#965
Closed glennmichael123 opened this 9 days ago ·
9 days ago

better-dx@0.2.25 (latest) depends on buddy-bot: ^0.10.5. That package was renamed to @buddysh/buddy, and the old name is frozen at the final pre-rename build:

PackageLatestPublished
buddy-bot0.10.52026-08-19 — registry untouched since
@buddysh/buddy0.11.22026-09-29

buddy-bot@0.10.5 carries no deprecation notice, so it still looks maintained. Every better-dx consumer therefore installs a package that stopped receiving fixes six weeks ago.

Every published version back to 0.2.20 points at the old name:

0.2.20: buddy-bot ^0.9.17
0.2.21: buddy-bot ^0.9.23
0.2.22: buddy-bot ^0.9.24
0.2.23: buddy-bot ^0.10.3
0.2.24: buddy-bot ^0.10.5
0.2.25: buddy-bot ^0.10.5

Concrete consequence

0.10.5 predates the deps.yaml corruption fix (stacksjs/buddy#1453, shipped in 0.11.2). In stacksjs/bun-query-builder it rewrote deps.yaml into text that no longer parses as YAML, collapsing two keys into one:

  postgres: ^18.6sqlite: latest`3.53.4

The sqlite key is swallowed into the postgres value. That fails Setup Pantry before any job runs. We fixed it downstream in stacksjs/bun-query-builder#1173 / #1174 by moving to @buddysh/buddy, but the stale package stays in node_modules via better-dx until this is updated.

The rename is not just a name

Four things moved together, and we hit each one:

  1. Package: buddy-bot → @buddysh/buddy
  2. Bin: buddy-bot → buddy
  3. Config file: .config/buddy-bot.ts → .config/buddy.ts. 0.11.2 resolves its config as buddy.ts, so the old filename is not read at all — getConfig() silently falls back to defaults and loses repository, dashboard and packages. We verified both directions against the published build.
  4. Config type: BuddyBotConfig → BuddyConfig
  5. Default branch prefix: buddy-bot/ → buddy/, which breaks any workflow matching on the old prefix

Point 3 is the one worth flagging loudest: changing the dependency without renaming the config file leaves the tool running fully unconfigured, with no error.

This repo is affected too

Not just consumers — better-dx's own setup has the same state:

  • package.json → buddy-bot: ^0.10.5
  • .config/buddy-bot.ts → import type { BuddyBotConfig } from 'buddy-bot'
  • .github/workflows/buddy-bot.yml → 9 × bunx buddy-bot
  • docs/tools.md → already documents bunx buddy and bunx buddy review under a ### buddy-bot heading, so the docs are half-migrated
  • CLAUDE.md also references buddy-bot

Suggested change

-    "buddy-bot": "^0.10.5",
+    "@buddysh/buddy": "^0.11.2",

plus the config rename, the import/type change, the workflow invocations, and the branch-prefix match. Keeping buddy-bot/* alongside buddy/* in the branch check lets PRs already open from the old CLI continue to rebase.

Happy to open a PR for this if useful.

Sign in to comment on this issue.