Contents

Engineering Craft › Pull Requests & Code Review

Labels and Issue Hygiene

Labeling, linking and closing issues so work stays findable.

Also known as: issue labels, issue hygiene, GitHub labels, issue triage labels

Issue hygiene is keeping a tracker’s issues organized, so people can find, prioritize and finish work. Labels are the main tool.

Useful labels

Keep a small, consistent set, usually along a few dimensions:

DimensionExamples
Typebug, feature, chore, docs, question
Priority or severityP0, P1, critical, low
Statusneeds-triage, blocked, in-progress, needs-info
Areafrontend, api, billing, infra
Welcominggood first issue, help wanted

Don’t create dozens. A label nobody uses just adds noise.

Habits that keep a tracker useful

  • Write clear titles that describe the outcome or the problem (tickets, bug reports).
  • Link related things: reference the pull request that fixes an issue (Fixes #482 closes it on merge), and related issues.
  • Assign an owner, or mark it clearly unassigned.
  • Triage regularly: new issues get a type, an area and a priority, or are closed with a reason (triage).
  • Close duplicates by linking to the original.
  • Ask for missing details (needs-info), and close stale issues after a polite reminder.
  • Keep discussion in the issue, so decisions are recorded.
  • Update status as work moves, so the board matches reality.
  • Use milestones or projects for grouping work toward a release.

Don’t

  • Let the backlog become a graveyard of thousands of old issues nobody reads.
  • Use an issue as a chat thread.
  • Rename or recycle labels casually.

Tidy trackers save time for everyone who looks for work, reports a bug, or contributes (contributing guide).