← ClaudeAtlas

backstage-upgradelisted

Upgrade a Backstage monorepo across release lines using versions:bump, the Upgrade Helper and a per-release breaking-change review, one release line at a time.
bendaamerahmed/backstage-idp-plugin · ★ 1 · Code & Development · score 65
Install: claude install-skill bendaamerahmed/backstage-idp-plugin
# Upgrade a Backstage monorepo Move a repo from its current Backstage release line to a target line without a broken `main`. The CLI moves versions; the app code, config and Dockerfile are yours to move. ## Preconditions - `backstage.json` at the repo root read — it holds the app's current release line (`{"version": "1.x.y"}`). If missing, derive the line from `@backstage/core-components` in `packages/app/package.json`. - Baseline green on a clean tree: `yarn install --immutable`, `yarn tsc:full`, `yarn backstage-cli repo lint`, `yarn backstage-cli repo test`. A red baseline makes every later failure unattributable — return BLOCKED. - Repo generation known (NFS vs legacy frontend, new vs legacy backend) — it decides which Upgrade Helper hunks apply. Run `backstage-repo-discovery` if unsure. - Known: yarn version (`yarn -v`; the Backstage yarn plugin needs ≥ 4.1.1), whether `"backstage:^"` version specifiers are in use, root `engines.node`, and the local Node major. Supported Node is exactly two adjacent even majors — currently 22 and 24. - A branch. Never upgrade on `main`. ## Procedure 1. **Record the starting point.** `cat backstage.json`; `yarn backstage-cli info` for installed Backstage package, Node and CLI versions. List every non-`@backstage` ecosystem dependency (`@backstage-community/*`, `@roadiehq/*`, `@janus-idp/*`, `@spotify/*`) — the bump does not touch them by default. 2. **Choose the target.** Default to the latest `main` release lin