github-desktop/docs/process/labels.md
2019-05-20 15:38:16 -03:00

8.6 KiB

Issue and Pull Request Labels

This section outlines the labels currently used in the project, and adds context about what each label represents.

Common labels

These labels are used for both issues and pull requests, and are assigned to help understand the type of work involved.

Label name Description
🔎 docs Issues and pull requests related to documentation work on the project
🔎 infrastructure Issues and pull requests related to scripts and tooling for GitHub Desktop
🔎 tech-debt Issues and pull requests related to addressing technical debt or improving the codebase

Issue-specific labels

This section is organized into sub-groups, as groups of labels relate to specific work being done in the issue tracker.

Issue triage

The triage process is how the maintainers process incoming issues and prioritize the work required to address the feedback raised. These labels help us to track the flow of an issue through this process

Label name Description
🔎 bug Confirmed bugs or reports that are very likely to be bugs
🔎 enhancement Issues that propose to improve the app and solve a problem for users
🔎 investigation-needed Likely bugs, but haven't been reliably reproduced by a reviewer
🔎 more-information-needed The submitter needs to provide more information about the issue
🔎 priority-1 Major bug affecting large population and inhibiting their work
🔎 priority-2 Bug that affects more than a few users in a meaningful way but doesn't prevent core functions
🔎 priority-3 Bugs that affect small number of users and/or relatively cosmetic in nature
🔎 support Issues specific to an individual users' configuration requiring diagnosis and clarification to resolve

External contributions

We use these labels to identify work that is ideal for external contributors to get involved with.

Label name Description
🔎 good first issue Issues marked as ideal for a brand new contributor to start with
🔎 help wanted Issues marked as ideal for external contributors

Planning

We use these labels to track tasks outside the usual flow of addressing bugs or implementing features:

Label name Description
🔎 meta Issues used to co-ordinate tasks or discuss a feature before the required work is captured
🔎 user-research Issues that may benefit from user interviews, validations, and/or usability testing
🔎 needs-design-input Issues that require design input from the core team before the work can be started

Epics

As we work on new parts of the application or refine existing workflows, we use epic labels, ex: epic:rebase to track issues and PRs that are part of a common feature focus area, or epic.

This label is intended to make searching for issues related to an epic easier, and a project board should be used to organize and prioritize the work within an epic based on the upcoming release schedule.

Each label should be removed from the repository when the project board is closed, so these labels do not become overused and add noise to the issue tracker.

Label name Description
🔎 epic:stashing Supporting stashing uncommitted changes in the app

Specialized areas

We use these labels to identify issues related to a specific area or the app, or a specific subset of users:

Label name Description
🔎 codemirror Issues related to our use of CodeMirror that may require upstream fixes
🔎 electron Issues related to our use of Electron that may need updates to Electron or upstream fixes
🔎 integrations Issues related to editor and shell integrations that ship in Desktop
🔎 performance Relating to things affecting performance
🔎 themes Issues related the light or dark themes that ship in Desktop
🔎 website Issues that relate to external websites and require co-ordination to resolve

Environments

Sometimes issues are isolated to a specific operating system. We use these labels to help identify these issues, so maintainers with that setup - or experience with that setup - can easily find them in the issue tracker.

Label name Description
🔎 linux Issues specific to Desktop usage on Linux
🔎 macOS Issues specific to Desktop usage on macOS
🔎 windows Issues specific Desktop usage on Windows

Pull Request-specific labels

These labels should only be assigned to pull requests, and are intended to help reviewers navigate the open contributions to identify how best to spend their time:

Label name Description
🔎 ready-for-review Pull Requests that are ready to be reviewed by the maintainers
🔎 time-sensitive Pull Requests that require review in a more timely manner