Backstage core contribution
Follow the upstream repository's contributor contract and avoid commands that perform broad build or release mutation.
When to invoke
- "Make a change in backstage/backstage."
- "Validate this Backstage core PR."
- "Add a changeset or update API reports."
- "Fix a core plugin, package, or documentation issue."
Positive detection
Use this skill only when repository evidence identifies backstage/backstage or a close fork with
the core package layout. Adopter apps use their own package scripts instead.
Procedure
Read root
package.json,CONTRIBUTING.md,SECURITY.md, package ownership, and affected package scripts.Verify the exact checkout commit and Backstage version.
Establish a targeted baseline:
yarn install CI=1 yarn test <path> yarn tscMake the smallest package-scoped change and preserve public API and compatibility contracts.
Format only changed files and run
yarn lint --fixaccording to contributor guidance.Rerun targeted tests and exact root
yarn tscwithout extra options.Run
yarn build:api-reportswhen public APIs change and review generated report diffs.Add direct changeset files when published packages change.
Preserve Apache-2.0 headers, DCO sign-off, documentation, and test expectations.
Review the final diff for unrelated generated output or release mutations.
Prohibited routine commands
- Root
yarn build. yarn release.changeset versionor equivalent version mutation.- Repository-wide formatting when only changed files are required.
- Untargeted test suites when a package or path selector covers the change.
Output template
## Backstage core contribution result
**Commit:** <checkout commit>
**Packages:** <affected packages>
| Contributor gate | Command | Result |
| --- | --- | --- |
### Generated artifacts
- Changeset:
- API reports:
- Documentation:
Quality gate
- Repository identity, commit, and affected package ownership are confirmed.
- Baseline and final targeted tests pass.
- Root typecheck ran only as exact
yarn tsc. - Formatting is limited to changed files and lint results are recorded.
- API reports and direct changesets are updated when required.
- DCO and Apache header requirements are satisfied.
- No root build, release, or changeset-version command ran.