Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 20 additions & 13 deletions .github/LABELS.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,15 +67,20 @@ are valid types; they do not each require a dedicated label (use a repository
area/scope label where useful). `security` is a **label** (applied on top of the
type, e.g. a `fix:` that closes a vulnerability), not a title type.

> **Pull request labels are restricted to ownership only.** A pull request
> carries exactly **one ownership label — `filigran team` or `community` — and
> nothing else.** Every other label (primary type labels, area/scope labels,
> workflow/triage labels) is **issue-only** and must **never** be added to a pull
> request; remove any that appear. The PR's `type:` title prefix and its linked
> issue already convey the type and the affected area.
> **Pull request labels are restricted to a small allowed set.** A pull request
> carries only:
>
> *Exception:* dependency-automation labels (e.g. `dependencies`) are applied by
> Renovate/Dependabot to their own pull requests, which are exempt.
> - exactly **one ownership label — `filigran team` or `community`**;
> - optionally **`vibe-coded`** — an AI-assisted change the author reviews before
> requesting others' review;
> - **language** labels (`javascript`, `python`, `java`, `go`, `rust`,
> `typescript`, …) and the **`dependencies`** label, both applied automatically
> by GitHub/Renovate.
>
> Every other label — primary **type** labels, **area/scope** labels and
> **workflow/triage** labels — is **issue-only** and must **never** be added to a
> pull request; remove any that appear. The PR's `type:` title prefix and its
> linked issue already convey the type and the affected area.

## 3. Workflow & ownership labels

Expand All @@ -86,6 +91,8 @@ type, e.g. a `fix:` that closes a vulnerability), not a title type.
- **Ownership**: `filigran team`, `community`, `community support`,
`filigran support`, `partner support`, `enterprise edition`.
- **Security**: `security`.
- **PR review**: `vibe-coded` (an AI-assisted pull request the author reviews
before requesting others' review).
- **CLA**: `cla:pending`, `cla:signed`, `cla:exempt`.
- **Automation**: `dependencies`, `javascript`, `python`, `java`, `do not merge`.

Expand All @@ -97,8 +104,8 @@ On top of the shared labels above, repositories define their own area/scope
labels (e.g. `frontend`, `backend`, `connector: <name>`, `collector: <name>`,
`agents`, `authentication`). They add routing context and an issue may carry
more than one. They are **issue-only** — like type and workflow labels, they are
**not** added to pull requests (a PR carries only its `filigran team` /
`community` ownership label). They are not listed in `labels.yml`.
**not** added to pull requests (a PR carries only ownership, `vibe-coded` and the
automatic language / `dependencies` labels). They are not listed in `labels.yml`.

All label names are **lowercase**. Repository-specific labels use a neutral grey
color (`ededed`); only the shared labels above carry color, so the common
Expand All @@ -117,9 +124,9 @@ taxonomy stands out consistently across every Filigran repository.
- [ ] **Issues only:** exactly one primary type label (`feature` / `bug` /
`documentation`) matches the title prefix, and the GitHub **Type** field
(Feature / Bug / Task) is set to match
- [ ] **Pull requests:** exactly one ownership label `filigran team` or
`community` — and **no other label** (type, area/scope and workflow labels
are issue-only)
- [ ] **Pull requests:** one ownership label (`filigran team` / `community`),
optionally `vibe-coded` and the automatic language / `dependencies` labels
and **no other label** (type, area/scope and workflow labels are issue-only)
- [ ] Issues: area labels added where useful
- [ ] No deprecated labels
- [ ] Commits are signed and the PR is linked to an issue
7 changes: 6 additions & 1 deletion .github/labels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -106,10 +106,15 @@
color: "5319e7"
description: "CLA not required (Filigran employee)."

# ── PR review flow ──
- name: vibe-coded
color: "a371f7"
description: "PR: AI-assisted change — the author reviews it before requesting others' review."

# ── PR / dependency automation ──
- name: dependencies
color: "0366d6"
description: "Pull requests that update a dependency file."
description: "Pull requests that update a dependency file (applied by Renovate/Dependabot)."
- name: javascript
color: "168700"
description: "Pull requests that update JavaScript code."
Expand Down
13 changes: 7 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,13 @@ in [`.github/LABELS.md`](.github/LABELS.md). In short:
* **Labels** — Every **issue** carries one primary type label matching its title
prefix (`feature` for `feat:`, `bug` for `fix:`, `documentation` for `docs:`)
plus optional area labels, and its GitHub **Type** (Feature / Bug / Task) set
to match. **Pull requests are labelled with ownership only** — exactly one of
`filigran team` or `community`, and **nothing else**: type, area/scope and
workflow labels are issue-only (Renovate/Dependabot dependency labels are
exempt). Do not use the deprecated `enhancement` / `feature request` labels —
use `feature`. See [`.github/LABELS.md`](.github/LABELS.md) for the shared
palette ([`.github/labels.yml`](.github/labels.yml)).
to match. **Pull requests carry a restricted label set** — exactly one
ownership label (`filigran team` or `community`), optionally `vibe-coded` (an
AI-assisted change the author reviews first), and the automatic language /
`dependencies` labels. Type, area/scope and workflow labels are issue-only. Do
not use the deprecated `enhancement` / `feature request` labels — use
`feature`. See [`.github/LABELS.md`](.github/LABELS.md) for the shared palette
([`.github/labels.yml`](.github/labels.yml)).
<!-- filigran-conventions:end -->

## How can you get in touch for other questions?
Expand Down