Dosu can apply labels to GitHub issues and pull requests as they come in, so your backlog stays organized without manual triage. This page explains how Auto-Labeling works and how to configure which labels Dosu uses or turn it off in your Agent settings.
What it is#
Auto-Labeling is a GitHub Agent capability. When a new issue or pull request is opened, Dosu looks at its content and applies labels from a set you control. Dosu only ever applies labels that already exist in your repository and that you have selected.
For issues, Dosu reads the title and description. For pull requests, Dosu also reads the diff summary and the list of changed files. In both cases, Dosu uses past labeling of similar issues and PRs as reference examples, so predictions improve as your labeling history grows.
Why it matters#
Triage is repetitive work that scales with the size of an engineering organization. Consistent labels are what make a backlog searchable, route work to the right owners, and feed other automation. Auto-Labeling keeps that structure in place as volume grows, and the same setup works for a single repository or a whole organization.
How it works#
Dosu chooses labels from three signals:
- Your repository's label taxonomy (the label names and descriptions).
- How similar issues and PRs were labeled before.
- The content of the new issue or PR (title, description, and for PRs the diff summary and changed files).
Dosu learns from how your team responds to its predictions:
- To accept a prediction, leave the label as-is.
- To reject a prediction, remove the label from the issue or PR.
- To add a missing label, apply it manually as you normally would.
The more consistently you label, the more accurately Dosu predicts labels for similar content.
Labels are synced from your repository when you install the Dosu GitHub App, and Dosu picks up new labels you create. Auto-Labeling never invents a label out of thin air for issues. It applies labels that exist in the repo and that you have selected.
Configure or turn off Auto-Labeling#
Auto-Labeling is set per Agent. Open the Agent for the repository in Agents.
For issues, in the Issues settings:
- Enable or disable Auto-Label Issues.
- Select the labels Dosu is allowed to apply. If no label is selected, Dosu will not apply it.
For pull requests, in the Pull Requests settings:
- Enable or disable Auto-Label Pull Requests, and select which labels Dosu can apply (this works the same way as for issues).
- Optionally enable Add Size Labels to tag each PR by diff size (
size:XS,size:S,size:M,size:L,size:XL,size:XXL) based on total line changes, excluding files that do not reflect meaningful code changes. - Optionally enable Add LGTM Label to apply an
LGTMlabel after a user with write access approves a review. Dosu creates theLGTMand size labels automatically if they do not already exist.
To turn Auto-Labeling off entirely, disable the Auto-Label settings for that Agent.
Best practices#
Start with a small, focused set of clear labels, correct Dosu's predictions early, then expand the set as accuracy improves.
- Use clear, single-purpose label names. Labels like
bug,docs, orarea:frontendwork better than vague ones likeneeds-review. - Use consistent prefixes for related labels, such as
kind:bugandkind:featureorarea:docsandarea:api. Prefixes help Dosu understand how labels relate and choose between similar options. - Avoid duplicate or overlapping labels. If you have both
documentationanddocs, merge them. - Correct labels consistently. Mixing
bugandtype:bugfor the same kind of issue makes predictions less reliable.
Notes and limits#
- Auto-Labeling applies to GitHub issues and pull requests.
- If issues are disabled for a repository, Dosu skips the issue settings for that Agent.
- Applying labels (and the
LGTMand size labels) requires the pull request permissions granted to the Dosu GitHub App. Dosu reads PR metadata and file changes to apply labels, but it does not push code, open, or merge pull requests. - Only owners and admins can create or modify an Agent.