docs/ISSUE_LABELING.md
This repo uses labels to make the issue tracker easier to scan by:
The goal is not to perfectly label everything. The goal is to make open issues easy to sort into:
For most open issues, aim to apply:
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 supportAvoid 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 backlogneeds-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/roadmaparea: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 UXOnly apply one when a provider is clearly the main subject:
provider:claudeprovider:codexprovider:cursorprovider:copilotprovider:geminiprovider:alibabaprovider:factoryprovider:antigravityprovider:opencodeprovider:zaiprovider:openrouterNot every issue needs a provider label.
These are mostly useful when resolving issues, not as backlog-organizing labels:
duplicateinvalidwontfixstaleIf starting from a sparse tracker, add these first:
priority:highpriority:mediumpriority:lowneeds-triageneeds-reproneeds-designacceptedarea:auth-keychainarea:install-distributionarea:usage-accuracyarea:performancearea:ui-uxarea:widgetarea:docs-onboardingprovider:claudeprovider:codexprovider:cursorprovider:copilotThis 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:claudeIssue: multiple account support.
Suggested labels:
enhancementpriority:higharea:accountsneeds-designIssue: generic usage mismatch with unclear screenshots and no exact values.
Suggested labels:
bugpriority:mediumarea:usage-accuracyneeds-reproIssue: show burn rate / pacing indicators.
Suggested labels:
enhancementpriority:mediumarea:usage-accuracyacceptedpriority:high bugsquestion.needs-repro and accepted on the same issue unless there is a strong reason.accepted so it doesn’t look abandoned.These already exist and should stay scoped to their current purpose:
upstream-syncneeds-reviewchanges requestedThey should not replace the general issue triage labels above.