backstage-repo-discoverylisted
Install: claude install-skill bendaamerahmed/backstage-idp-plugin
# Backstage repo discovery
Produce a compact, evidence-backed map of a Backstage monorepo. Every other Backstage
skill assumes this map exists. Detect by import source and composition, never by
version number alone.
## Preconditions
- Repository root is readable and `ripgrep` (`rg`) is available; fall back to `grep -rn`.
- Discovery is read-only: no installs, builds, or codegen.
- If `backstage.json`, `packages/app` and `packages/backend` are all absent, this is
probably a standalone plugin repo, not an app monorepo; note that and adapt.
## Procedure
1. **Anchor the repo.** Read `backstage.json` at the root — its `version` field is the
release line the app was last bumped to (not the version of any single package).
Read root `package.json`: `name`, `workspaces` globs, `engines.node`,
`packageManager`, `resolutions`, and the whole `scripts` block. Record all of it.
2. **Package manager and Node.** `yarn.lock` + `.yarnrc.yml` means Yarn Berry (Backstage's
default; recent scaffolds pin Yarn 4.x via `packageManager` + `corepack`).
`package-lock.json` or `pnpm-lock.yaml` means the repo diverged from upstream — every
later command must be translated. Current Backstage supports Node 22 and 24 only; an
`engines.node` allowing older majors means the repo is behind.
3. **Inventory packages.** Expand every `workspaces` glob (commonly `packages/*` and
`plugins/*`). For each, capture `name`, `version`, `private`, and `backstage.role` from
its `package.j