Skip to main content

PR labels

Automated labelling is configured across two files.

Area labels (path-based)

Defined in .github/labeler.yml and applied by actions/labeler@v5. Labels are created automatically on first use.

LabelPaths
area: pluginplugin/src/lib/**
area: test-installationdev/**, dev-alternative-config/**
area: tests**/*.spec.ts, **/*.test.ts, **/*.spec.tsx, **/*.test.tsx
area: docsdocs-site/**, **/*.md
area: ci.github/**
area: deps**/package.json, **/package-lock.json

Labels stack — a plugin unit test change receives both area: plugin and area: tests.

Type labels (PR title)

Applied by the actions/github-script step in .github/workflows/pr-labels.yml based on the Conventional Commits prefix in the PR title. Labels are created on first use.

LabelPrefix
type: featurefeat:
type: fixfix:
type: docsdocs:
type: testtest:
type: refactorrefactor:
type: perfperf:
type: depschore(deps):, chore(deps-dev):
type: chorechore:
type: buildbuild:
type: cici:

Conventional Commits enforcement

.github/workflows/pr-title.yml uses amannn/action-semantic-pull-request@v5 to fail CI if the PR title does not conform to the Conventional Commits spec. This matters because PRs are squash-merged, making the title the resulting commit message on main.

Allowed types: feat, fix, docs, test, refactor, perf, chore, build, ci.

Scopes are optional and free-form — use anything that helps identify what changed (a filename, function name, area, etc.). Examples: ci(github):, fix(bydocument):, refactor(translations):.