Skip to content

Commit 0a37b91

Browse files
JCBauzaclaude
andcommitted
chore(ci): add commitlint workflow + config
Adds a CI workflow that lints commit messages on every PR using wagoid/commitlint-github-action with @commitlint/config-conventional rules. Workflow-only approach (no devDependency or husky hook changes — zero impact on local dev environment). Allowed types: feat, fix, docs, style, refactor, perf, test, chore, build, ci, revert. Header max length 100 chars (warning only). Plan: .claude-plans/help-me-enable-all-zany-gosling.md (Track C). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 0279a34 commit 0a37b91

2 files changed

Lines changed: 33 additions & 0 deletions

File tree

.commitlintrc.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"extends": ["@commitlint/config-conventional"],
3+
"rules": {
4+
"type-enum": [
5+
2,
6+
"always",
7+
["feat", "fix", "docs", "style", "refactor", "perf", "test", "chore", "build", "ci", "revert"]
8+
],
9+
"subject-case": [0, "always"],
10+
"header-max-length": [1, "always", 100]
11+
}
12+
}
13+

.github/workflows/commitlint.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Commit Lint
2+
on:
3+
pull_request:
4+
branches: [main, master]
5+
permissions:
6+
contents: read
7+
jobs:
8+
commitlint:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v4
12+
with:
13+
fetch-depth: 0
14+
- name: Lint commits in PR
15+
uses: wagoid/commitlint-github-action@v6
16+
with:
17+
configFile: ".commitlintrc.json"
18+
failOnWarnings: false
19+
firstParent: false
20+

0 commit comments

Comments
 (0)