Labels
Every package repo uses the same five labels. Apply them with scripts/bootstrap-labels.sh.
Label reference
| Label | Colour | Description | Version bump |
|---|---|---|---|
| breaking | #B60205 |
Incompatible API change | MAJOR x+1.y.z |
| feature | #0E8A16 |
New backwards-compatible functionality | MINOR x.y+1.z |
| fix | #0075CA |
Bug fix, backwards-compatible | PATCH x.y.z+1 |
| dependencies | #6F42C1 |
Dependency update | PATCH x.y.z+1 |
| chore | #FEF2C0 |
Maintenance, refactoring, or housekeeping. Excluded from changelog; no version bump. | none |
Rules
- Every PR that targets
mainmust carry exactly one label before it can merge. The label gate (label-gate.yml) enforces this as a required status check. breaking,feature,fix, anddependenciesare bump labels: they must be the sole label on a PR and they produce a changelog entry.chorebypasses the gate entirely. The PR merges without a version bump and does not appear in the release draft. Use it for CI changes, refactoring, test additions, or any work that does not affect the public-facing package.- If a single PR closes issues of mixed types apply the highest-priority label. E.g. a bug fix and a small feature should get the feature label.
Version resolution
When multiple PRs accumulate in a draft release, the resolved version bump is the highest priority across all included labels:
breaking > feature > fix = dependencies