21 labels · 5 categories · any project

Clean Labels
Convention

A standardized GitHub label convention that is consistent, scannable, and universal — for any project, any team, any stack.

By WG Tech Labs · Applied by github-labels-template

[Category]   Description   [scope]

Why Clean Labels?

Default GitHub labels are inconsistent. Clean Labels brings order to your issue tracker.

📐

Consistent Format

Every label follows the same [Category] Description [scope] pattern. No guessing, no variation across repos.

🔍

Instantly Scannable

5 logical categories — Type, Status, Community, Resolution, Area — cover every workflow need without overlap.

🌐

Universal

Designed for any project, language, or team size. Area labels map to universal software layers, not framework-specific names.

✂️

Intentionally Minimal

21 labels — no more, no less. Every label earns its place. No label sprawl, no abandoned tags collecting dust.

The Convention Format

Every Clean Label description is structured the same way — so anyone reading your labels, from any project, always understands exactly what they mean.

[Category] The category tag. One of: Type, Status, Community, Resolution, Area. Always in square brackets.
Description Plain English. Sentence-style, concise. No period. Describes exactly what the label means.
[scope] Where it applies. One of: [issues], [PRs], or [issues, PRs]. Always in square brackets.
Read Full Specification →
label description examples
# Type label
[Type] Something isn't working [issues, PRs]

# Status label
[Status] New issue — needs review and
         categorization [issues]

# Community label
[Community] Good for newcomers —
             well-scoped and documented
[issues]

# Resolution label
[Resolution] This will not be worked on
[issues]

# Area label
[Area] Build system, CI/CD, deployment,
       config, and DevOps
[issues, PRs]

All 21 Labels

Organized across 5 categories. Every label is purposeful — nothing redundant, nothing missing.

Type

6 labels

Classify what kind of work this is. Every issue or PR should have one.

bug Something isn't working issues, PRs
enhancement New feature or improvement issues, PRs
documentation Docs, README, or guides issues, PRs
refactor Code improvement, no behavior change PRs
performance Speed or resource improvements issues, PRs
security Vulnerability or hardening issues, PRs

Status

4 labels

Track the current workflow state. One active at a time, issues only.

blocked Waiting on another factor issues
needs triage New — needs review issues
awaiting response Waiting for more info issues
ready Triaged, ready to be picked up issues

Community

3 labels

Signals for open source contributors. Who should work on this?

good first issue Great for newcomers issues
help wanted Open for community contribution issues
maintainer only Not open for external contribution issues, PRs

Resolution

3 labels

Why an issue or PR was closed. Applied at close time.

duplicate Already exists issues, PRs
invalid This doesn't seem right issues, PRs
wontfix Will not be worked on issues

Area

5 labels

Broad software layers — universal across any project or stack. Multiple Area labels are allowed.

core Core logic & business rules issues, PRs
interface UI, CLI, API, SDK surface issues, PRs
data Database, storage, caching issues, PRs
infra CI/CD, build, deployment, config issues, PRs
testing Unit, integration, E2E, test tooling issues, PRs

Adopt Clean Labels

One command to apply all 21 labels to any repository using the official CLI tool.

apply all labels (npx)
# Apply all 21 Clean Labels
$ npx github-labels-template apply

✓ bug
✓ enhancement
✓ documentation
✓ ...
Applied 21 labels successfully
apply by category
# Apply a single category
$ npx github-labels-template apply \
    --category type

# Apply to a specific repo
$ npx github-labels-template apply \
    --repo owner/repo

# Clean slate: wipe + apply
$ npx github-labels-template migrate
manual via gh CLI
# Create a single label manually
$ gh label create "bug" \
    --color "d73a4a" \
    --description \
    "[Type] Something isn't working [issues, PRs]"
Open Convention

Clean Repos deserve Clean Labels.

Clean Labels is a free, open convention maintained by WG Tech Labs. Adopt it, reference it, build tooling around it.

Used by the github-labels-template CLI as its default label set.