List

GitHub labels

Label design

Global namespace

The GitHub label namespace is unique. Meaning, if one repository has a bug label called bug šŸžĀ and another repository is calling it bug šŸ› , they should be updated to be identical. The same concept should have the same name. This is to ensure that we can:

Should I create a new label?

We shouldn’t aim to create all the GitHub labels that can exist. For a label to help (not make things worse), it has to:

  1. Be high-level enough to group enough related work.
  2. Be low-level enough to filter out enough of the other issues.
  3. Fit with one Labels categories.

When in doubt, don’t create labels per: Delete as much as possible. You will know if you delete enough if you are forced to add back > 1/10 of the things. Otherwise, you carry too much overhead. The challenge with this step is to override our emotions. Very likely, in the past, we faced a lot of pain because we deleted something that we truly needed..

Labels categories

We use 4 categories of labels, solving 4 different kinds of problems:

  1. ā€œProduct scopeā€ labels. They are meant to help:

    For example: scope: docs-infra.

  2. ā€œPrioritizationā€ labels. Those labels are used to help us decide what to work on next. You will find regressions (usually of the utmost priority), bugs, enhancements, new features, items waiting for upvotes, those of low priority, and those on hold, etc.

    Subsets:

  3. ā€œKind of workā€ labels. Those labels are used to group related work together, so some people can only look at them. It can be either because they require specific skills or awareness of related work.

    For example: l10n, docs