GitHub Labels System
Every issue, PR, and release MUST use this labeling system. Apply labels consistently.
Type Labels#
| Label |
Color |
Use When |
bug |
red |
Something isn't working |
enhancement |
cyan |
New feature or improvement |
refactor |
yellow |
Code restructuring without behavior change |
documentation |
blue |
Docs, examples, README |
breaking-change |
red |
Changes that break backward compatibility (CAPITAL SIN) |
consistency |
orange |
Cross-generator consistency issue (CAPITAL SIN) |
Component Labels (prefix: gen/)#
| Label |
Color |
Component |
gen/go-http |
Go blue |
protoc-gen-go-http (HTTP server) |
gen/go-client |
Go blue |
protoc-gen-go-client (Go HTTP client) |
gen/ts-client |
TS blue |
protoc-gen-ts-client (TypeScript HTTP client) |
gen/swift-client |
Swift orange |
protoc-gen-swift-client (Swift HTTP client) |
gen/kt-client |
Kotlin purple |
protoc-gen-kt-client (Kotlin HTTP client) |
gen/py-client |
Python blue |
protoc-gen-py-client (Python HTTP client) |
gen/openapiv3 |
green |
protoc-gen-openapiv3 (OpenAPI spec) |
gen/annotations |
yellow |
Shared annotation definitions (proto/sebuf/http/) |
Category Labels#
| Label |
Color |
Use When |
json-mapping |
dark blue |
JSON serialization mapping features |
foundation |
light blue |
Infrastructure, refactoring, bug fixes |
polish |
lighter blue |
Documentation, examples, test coverage |
language-client |
purple |
New language client generator |
Milestone Labels#
| Label |
Color |
Use When |
1.0-blocker |
red |
Must be resolved before 1.0 release |
v1.0 |
green |
Targeted for v1.0 |
v2.0 |
teal |
Targeted for v2.0 |
Labeling Rules#
- Every issue/PR gets at least: one type label + one component label + one milestone label
- JSON mapping issues: always get
json-mapping + gen/annotations + all affected gen/* labels
- Cross-generator issues: always get
consistency label
- PRs: mirror the labels of the issue they fix
- Breaking changes: ALWAYS get
breaking-change — these require explicit approval before merge
Commit Message Prefixes#
| Prefix |
When |
feat(gen): |
New feature in a generator |
fix(gen): |
Bug fix in a generator |
refactor(gen): |
Refactoring a generator |
docs: |
Documentation only |
test: |
Test only |
chore: |
Build, CI, deps |
Examples:
feat(go-http): add nullable primitive support
fix(go-client): conditional net/url import
refactor(annotations): extract shared parsing package
feat(swift-client): initial Swift HTTP client generator
docs: add JSON mapping examples