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 |