| summary | Issue labeling policy for triage, prioritization, and backlog hygiene. | |||
|---|---|---|---|---|
| read_when |
|
This repo uses labels to make the issue tracker easier to scan by:
- type — what kind of issue is this?
- priority — how urgent is it?
- area — what subsystem is affected?
- provider — which provider/service is involved?
- workflow state — what kind of follow-up is needed?
The goal is not to perfectly label everything. The goal is to make open issues easy to sort into:
- what is broken now,
- what needs maintainer attention,
- what is accepted backlog,
- and what belongs to a specific provider or subsystem.
For most open issues, aim to apply:
- 1 type label
- 1 priority label
- 1 workflow label
- 1 area label
- 0–1 provider labels
That means most issues should end up with 3–5 labels max.
Use the existing GitHub-style labels:
bug— broken behavior, crash, mismatch, false negative, bad parsing, auth failureenhancement— feature request, UX improvement, support for a new workflowdocumentation— docs, onboarding, missing setup guidancequestion— only for issues that are primarily asking for clarification or support
Avoid using question as a generic fallback when the issue is actually a bug or feature request.
priority:high— crashes, install failures, auth/account breakage, provider unusable, severe resource issuespriority:medium— real issue or good feature request, but not urgentpriority:low— minor polish, optional UX improvements, long-tail backlog
needs-triage— new issue that has not been categorized yetneeds-repro— needs logs, screenshots, exact steps, or a current reproneeds-design— valid request, but needs a product/UX decision before implementationblocked-upstream— likely caused or limited by upstream provider behavioraccepted— intentionally kept open as part of the backlog/roadmap
area:auth-keychain— keychain prompts, login state, token refresh, account switchingarea:install-distribution— Homebrew, packaging, launch/install failures, binary detectionarea:usage-accuracy— usage %, reset windows, plan parsing, cost/token matharea:performance— CPU, battery, memory, background sessions/process churnarea:ui-ux— menu bar behavior, settings, copy, visual layout, interaction polisharea:widget— widget registration, app groups, widget gallery visibilityarea:docs-onboarding— setup docs, onboarding docs, missing instructionsarea:notifications— threshold alerts, prompt waiting, quota notificationsarea:export-integration— Prometheus, HTTP server mode, external integrationsarea:accounts— multiple accounts, account discovery, account switching UX
Only apply one when a provider is clearly the main subject:
provider:claudeprovider:codexprovider:cursorprovider:copilotprovider:geminiprovider:alibabaprovider:factoryprovider:antigravityprovider:opencodeprovider:zaiprovider:openrouter
Not every issue needs a provider label.
These are mostly useful when resolving issues, not as backlog-organizing labels:
duplicateinvalidwontfixstale
If starting from a sparse tracker, add these first:
priority:highpriority:mediumpriority:low
needs-triageneeds-reproneeds-designaccepted
area:auth-keychainarea:install-distributionarea:usage-accuracyarea:performancearea:ui-uxarea:widgetarea:docs-onboarding
provider:claudeprovider:codexprovider:cursorprovider:copilot
This smaller set already gives most of the value.
Issue: repeated Claude keychain prompts, user can’t keep the app running normally.
Suggested labels:
bugpriority:higharea:auth-keychainprovider:claude
Issue: multiple account support.
Suggested labels:
enhancementpriority:higharea:accountsneeds-design
Issue: generic usage mismatch with unclear screenshots and no exact values.
Suggested labels:
bugpriority:mediumarea:usage-accuracyneeds-repro
Issue: show burn rate / pacing indicators.
Suggested labels:
enhancementpriority:mediumarea:usage-accuracyaccepted
- Create the new labels
- Backfill the top-priority open issues first
- all
priority:highbugs - major roadmap items
- maintainer-triage issues
- all
- Apply labels to new issues at intake
- Backfill older backlog issues gradually
- Prefer fewer, clearer labels over many vague labels.
- Do not label everything
question. - Do not use both
needs-reproandacceptedon the same issue unless there is a strong reason. - If an issue is provider-specific, add the provider label early.
- If an issue is obviously real and intended to stay open, add
acceptedso it doesn’t look abandoned.
These already exist and should stay scoped to their current purpose:
upstream-syncneeds-reviewchanges requested
They should not replace the general issue triage labels above.