Skip to content

Commit 3e9192c

Browse files
docs: clarify primary type labels are issues-only (PRs use ownership labels) (#21) (#22)
1 parent 5c67757 commit 3e9192c

3 files changed

Lines changed: 31 additions & 8 deletions

File tree

.github/LABELS.md

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,21 +48,35 @@ chore(ci): migrate dependency management to uv (#1237)
4848
feat(api)!: remove deprecated v1 endpoints (#1238)
4949
```
5050

51-
## 2. Type label (one per issue)
51+
## 2. Type label (issues only — one per issue)
5252

53-
The title `type` maps to a primary type label:
53+
The title `type` maps to a primary type label. **Primary type labels are applied
54+
to issues only:**
5455

5556
| Title prefix | Type label | Color |
5657
|--------------|-----------------|--------|
5758
| `feat:` | `feature` | indigo |
5859
| `fix:` | `bug` | red |
5960
| `docs:` | `documentation` | blue |
6061

62+
On issues, also set the GitHub **Type** field to match (`feat:``Feature`,
63+
`fix:``Bug`, every other type → `Task`).
64+
6165
`chore:`, `style:`, `ci:`, `build:`, `perf:`, `refactor:`, `test:` and `revert:`
6266
are valid types; they do not each require a dedicated label (use a repository
6367
area/scope label where useful). `security` is a **label** (applied on top of the
6468
type, e.g. a `fix:` that closes a vulnerability), not a title type.
6569

70+
> **Pull requests do NOT carry a primary type label.** A pull request's `type:`
71+
> title prefix (and its linked issue) already convey the type, so `feature`,
72+
> `bug` and `documentation` must **never** be added to a pull request — remove
73+
> them if they appear.
74+
>
75+
> Pull requests **do** still carry other labels. In particular, add an
76+
> **ownership** label — typically `filigran team` or `community` — so the source
77+
> of a contribution is clear at a glance. Area/scope labels and workflow labels
78+
> (e.g. `dependencies`, `do not merge`) also apply to pull requests where useful.
79+
6680
## 3. Workflow & ownership labels
6781

6882
- **Triage**: `needs triage`, `needs more info`, `solved`, `duplicate`,
@@ -98,7 +112,12 @@ taxonomy stands out consistently across every Filigran repository.
98112

99113
- [ ] Title follows `type(scope?)!?: description` (lowercase, no trailing period)
100114
- [ ] Pull request titles end with the `(#issue)` reference
101-
- [ ] Exactly one primary type label matches the title prefix
115+
- [ ] **Issues only:** exactly one primary type label (`feature` / `bug` /
116+
`documentation`) matches the title prefix, and the GitHub **Type** field
117+
(Feature / Bug / Task) is set to match
118+
- [ ] **Pull requests:** no primary type label (the title prefix conveys the
119+
type); add an ownership label (`filigran team` / `community`) and any useful
120+
area labels
102121
- [ ] Area labels added where useful
103122
- [ ] No deprecated labels
104123
- [ ] Commits are signed and the PR is linked to an issue

.github/labels.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@
1717
# ── Primary type labels (map to the Conventional Commits title prefix) ──
1818
- name: feature
1919
color: "6a3eef"
20-
description: "Type: new feature or capability (feat:)."
20+
description: "Type: new feature or capability (feat:). Issues only — not for PRs."
2121
- name: bug
2222
color: "d73a4a"
23-
description: "Type: something isn't working (fix:)."
23+
description: "Type: something isn't working (fix:). Issues only — not for PRs."
2424
- name: documentation
2525
color: "0075ca"
26-
description: "Type: documentation only (docs:)."
26+
description: "Type: documentation only (docs:). Issues only — not for PRs."
2727
- name: security
2828
color: "d93f0b"
2929
description: "Security vulnerability, hardening or guardrail."

CONTRIBUTING.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,13 @@ in [`.github/LABELS.md`](.github/LABELS.md). In short:
4747
* **Signed commits** — All commits must be signed. See the
4848
[GitHub documentation on signing commits](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits).
4949

50-
* **Labels** — Every issue carries one primary type label matching its title
50+
* **Labels** — Every **issue** carries one primary type label matching its title
5151
prefix (`feature` for `feat:`, `bug` for `fix:`, `documentation` for `docs:`)
52-
plus optional area labels. Do not use the deprecated `enhancement` /
52+
plus optional area labels, and its GitHub **Type** (Feature / Bug / Task) set
53+
to match. **Pull requests do not carry a primary type label** (the `type:`
54+
title prefix already conveys the type), but they should carry an **ownership**
55+
label — `filigran team` or `community` — to differentiate the author, plus any
56+
useful area/scope labels. Do not use the deprecated `enhancement` /
5357
`feature request` labels — use `feature`. See
5458
[`.github/LABELS.md`](.github/LABELS.md) for the shared palette
5559
([`.github/labels.yml`](.github/labels.yml)).

0 commit comments

Comments
 (0)