CockroachDB's GitHub repo uses a system of GitHub labels to organize issues. The labels are organized into groups based on a capital letter prefix. The labels are grouped to enhance discoverability and help suggest a standard set of labels that issues should have.

All issues should have a C- label, at minimum.

The following is a complete list of the label groups. Each group itself might not be complete - for example, the code areas under the Area label category may change over time, and are not all represented in this proposal.

Each label group will have a unique prefix for all of the labels it contains, and a unique label color on GitHub. This helps organize issues: it makes it easy to see at a glance which label groups have been filled out for an issue, or if an issue has been tagged with two conflicting labels from the same group.

Labels that are otherwise hard to understand (like S-0, the label for the most severe bugs) will often be annotated with further details after a dash, to help remember what a label indicates. For example, instead of S-0, we’ll be using S-0-corruption-or-data-loss. In addition, all labels should have a meaningful GitHub label description, unless it’s completely obvious from the name (A-rea labels, for instance, might not need one). This will help provide context to someone seeing the label for the first time.

There are some other, useful labels that we’ll keep ungrouped, since they indicate special conditions that don’t otherwise fall in a group:

Finally, there’s no category for the team that an issue relates to. That’s because GitHub projects are a useful way to organize issues by team, and having a label per-team seems like duplicate categorization and more overhead than necessary.