Skip to content

Issue prefix proposal

Echedey Luis edited this page Apr 10, 2025 · 6 revisions

Proposal

Issues and pull requests can be prefixed to help maintainers and contributors identify them quickly. These prefixes can be replaced with labels by the maintainers as needed. Note: only maintainers can add GitHub labels, so prefixes can be used by contributors to signify their intent.

Proposed prefixes

prefix meaning
ENH enhancement, feature request, ...
WIP work in progress, not ready, do not merge, ...
BUG bug, issue, ticket, problem, ...
DOC Documentation, tutorials, examples, ...
MAINT maintenance, clean up, requirements, setup ...
TST testing, unit-testing, end-to-end, ...
BLD build, CI, deployment, requirements, ...
DEPR deprecation, new feature, futures, ...

There may be some overlap with prefixes, like BLD and MNT. Prefixes can be chained together. For example:

BUG:ENH:WIP: Limit overflow in 4th quadrant using piecewise, constant resistance model

Rationale

Using a common set of guidelines can help organize issues which may allow them to be resolve more easily, and at the very least may reduce some clutter. Other repositories have adopted similar styles at least for their pull requests, such as: NumPy and SciPy.

Disclaimer

This is a proposal. This is not an requirement. These are just suggestions. Feel free to edit this wiki to add, alter, or remove anything as you see fit.

Comments

@wholmgren: What's the point of doing this when we already use github labels? I've never understood why numpy/scipy/pandas do this in addition to labels.

@mikofski: Good point, using prefixes may be a relic that predates labels. One reason prefixes might still be useful is because only maintainers can add labels, but the author can edit the title of their issue/PR. Maybe after the maintainer adds labels, the author could remove redundant prefixes. I have abandoned using prefixes, and I noticed that SciPy seems sporadic in their usage. I'm okay with dropping this "proposal".

@echedey-ls: I do like em. Makes it easier to identify if my review will be more meaningful (for example, if they introduce breaking changes or changes to packaging). And it's also easier to come back to them later. Yes, labels work for it too, but they sometimes overlap too many issues and requires clicking through GH filter, I'm lazy for that.