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:
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:
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..
We use 4 categories of labels, solving 4 different kinds of problems:
āProduct scopeā labels. They are meant to help:
For example: scope: docs-infra.
ā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:
āTypeā labels: Those are about the relationship between current behavior and expected behavior. They bring clarity to users. They are mutually exclusive and comprehensive.
Those also help PMs appreciate how much we are focused on depth vs. breadth.
ā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.