Back to Desktop

Issue and Pull Request Labels

docs/process/labels.md

latest8.6 KB
Original Source

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 nameDescription
:mag_right:docsIssues and pull requests related to documentation work on the project
:mag_right:infrastructureIssues and pull requests related to scripts and tooling for GitHub Desktop
:mag_right:tech-debtIssues 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 nameDescription
:mag_right:bugConfirmed bugs or reports that are very likely to be bugs
:mag_right:enhancementIssues that propose to improve the app and solve a problem for users
:mag_right:investigation-neededLikely bugs, but haven't been reliably reproduced by a reviewer
:mag_right:more-information-neededThe submitter needs to provide more information about the issue
:mag_right:priority-1Major bug affecting large population and inhibiting their work
:mag_right:priority-2Bug that affects more than a few users in a meaningful way but doesn't prevent core functions
:mag_right:priority-3Bugs that affect small number of users and/or relatively cosmetic in nature
:mag_right:supportIssues 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 nameDescription
:mag_right:good first issueIssues marked as ideal for a brand new contributor to start with
:mag_right:help wantedIssues 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 nameDescription
:mag_right:metaIssues used to co-ordinate tasks or discuss a feature before the required work is captured
:mag_right:user-researchIssues that may benefit from user interviews, validations, and/or usability testing
:mag_right:needs-design-inputIssues 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 nameDescription
:mag_right:epic:stashingSupporting 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 nameDescription
:mag_right:codemirrorIssues related to our use of CodeMirror that may require upstream fixes
:mag_right:electronIssues related to our use of Electron that may need updates to Electron or upstream fixes
:mag_right:integrationsIssues related to editor and shell integrations that ship in Desktop
:mag_right:performanceRelating to things affecting performance
:mag_right:themesIssues related the light or dark themes that ship in Desktop
:mag_right:websiteIssues 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 nameDescription
:mag_right:linuxIssues specific to Desktop usage on Linux
:mag_right:macOSIssues specific to Desktop usage on macOS
:mag_right:windowsIssues 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 nameDescription
:mag_right:ready-for-reviewPull Requests that are ready to be reviewed by the maintainers
:mag_right:time-sensitivePull Requests that require review in a more timely manner