Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .changelog/unreleased/87-label-seed-expansion.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
### Added

- Expanded the canonical label seed (`scripts/labels.mjs`) with a common-defaults
set: release-note aliases (`feature`, `fix`, `breaking-change`), conventional
work types (`task`, `ci`, `build`), GitHub built-in defaults (`duplicate`,
`invalid`, `question`, `wontfix`), contributor-onboarding labels (`help wanted`,
`good first issue`, `contrib-candidate`), and triage states (`needs-info`,
`needs-reproduction`, `needs-decision`, `ready`). The `feature`/`fix`/`breaking-change`
aliases close release-note categories declared in `ArchonVII/.github` `release.yml`
that were previously unseeded. (#87)
26 changes: 26 additions & 0 deletions scripts/labels.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,17 @@ export const LABELS = [
{ name: 'dependencies', color: '0366D6', description: 'Dependency bump or change' },
{ name: 'security', color: 'B60205', description: 'Security-relevant change' },
{ name: 'breaking', color: 'B60205', description: 'Breaking change (API, schema, behavior)' },
// Conventional-commit work types (no dedicated automation; used for triage + scanning).
{ name: 'task', color: 'CFD3D7', description: 'Tracked implementation work' }, // matches chore/refactor neutral grey CFD3D7
{ name: 'ci', color: '0366D6', description: 'CI / automation pipeline change' }, // matches dependencies infra blue 0366D6
{ name: 'build', color: '0366D6', description: 'Build system or tooling change' }, // matches dependencies infra blue 0366D6

// Compatibility aliases — same color as their canonical label so ArchonVII/.github
// release.yml groups them together in generated notes. Internally prefer the canonical
// enhancement/bug/breaking; these exist for imported PRs, bots, and conventional names.
{ name: 'feature', color: 'A2EEEF', description: 'Alias of enhancement (release-note grouping)' }, // = enhancement A2EEEF
{ name: 'fix', color: 'D93F0B', description: 'Alias of bug (release-note grouping)' }, // = bug D93F0B
{ name: 'breaking-change', color: 'B60205', description: 'Alias of breaking (release-note grouping)' }, // = breaking B60205

// Severity (used by anomaly-to-issue workflow)
{ name: 'severity:low', color: '0E8A16', description: 'Anomaly severity: low' },
Expand All @@ -45,6 +56,10 @@ export const LABELS = [
{ name: 'stale', color: 'CFD3D7', description: 'Auto-applied by stale workflow' },
{ name: 'pinned', color: '5319E7', description: 'Exempt from stale/lock workflows' },
{ name: 'roadmap', color: '5319E7', description: 'Long-running roadmap tracking issue' },
{ name: 'needs-info', color: 'FEF2C0', description: 'Waiting on the reporter for more information' }, // needs-* mirror needs-triage FEF2C0
{ name: 'needs-reproduction', color: 'FEF2C0', description: 'Needs a reliable reproduction before work can start' }, // needs-* mirror needs-triage FEF2C0
{ name: 'needs-decision', color: 'FEF2C0', description: 'Blocked on a maintainer decision' }, // needs-* mirror needs-triage FEF2C0
{ name: 'ready', color: '0E8A16', description: 'Triaged and ready to be worked' }, // ready-to-go green, matches auto-merge 0E8A16

// Workflow / release
{ name: 'no-changelog', color: 'EDEDED', description: 'Skip the CHANGELOG fragment requirement' },
Expand All @@ -57,6 +72,17 @@ export const LABELS = [
{ name: 'auto-triaged', color: 'C5DEF5', description: 'Applied by the anomaly auto-triage workflow' }, // auto-triage-label default in anomaly-triage.yml
{ name: 'doc-orphan', color: 'FBCA04', description: 'Durable doc missing from its index (doc-orphan detector)' }, // base-label default in doc-orphan-detector.yml

// Triage / closure (GitHub's built-in default labels — kept for familiarity + tooling)
{ name: 'duplicate', color: 'CFD3D7', description: 'This issue or PR already exists' }, // GitHub default label palette
{ name: 'invalid', color: 'E4E669', description: 'Not a valid issue or not actionable' }, // GitHub default label palette
{ name: 'question', color: 'D876E3', description: 'Further information is requested' }, // GitHub default label palette
{ name: 'wontfix', color: 'FFFFFF', description: 'This will not be worked on' }, // GitHub default label palette

// Contributor onboarding (CNCF-recommended names for public discovery)
{ name: 'help wanted', color: '008672', description: 'Extra attention is needed' }, // GitHub default label palette
{ name: 'good first issue', color: '7057FF', description: 'Good for newcomers' }, // GitHub default label palette
{ name: 'contrib-candidate', color: 'C5DEF5', description: 'Potential help-wanted / good-first-issue once groomed' }, // tentative/candidate light blue C5DEF5

// PRD / breakdown (from the `open` skill)
{ name: 'prd', color: '5319E7', description: 'Parent PRD issue — broken into tracer-bullet sub-issues' },
{ name: 'tracer-bullet', color: 'BFD4F2', description: 'Thin vertical slice cutting through all layers' },
Expand Down
Loading