Commit Lint Generator 是一個針對 commit 進行檢驗的工具,它會接收一個 commitlintrc.js
作為設定檔,該檔案會定義包含 hooks
以及各種 rule
,你可以針對特定的 hook 來指定需要檢查的 rule
,你可以在 commitlint 找到所有的 rules ,目前所支援的 rules 請參考 Support rules 章節,未來將會逐步支援其他的規則
- 基於設定的 rules 來檢查 commit 格式
- 錯誤訊息支援多國語系
- 符合大部分 POSIX 規範
- 支援任何平台
你可以在 commitlintrc.js
中定義團隊的 commit 規範。
commitlintrc.js
中匯出一個名為 config
的陣列,該陣列包含各個 hooks
所指定的規則
定義的結構如下
export const config = [
{
hook: "觸發的 hook",
lang: "zh_tw",
rules: [
{
name: "規則名稱",
level: "0 不理會, 1 黃色文字, 2 紅色文字",
applicable: "always | never 當選擇 never 時代表將規則反轉",
value: "規則值"
},
{
name: "header-max-length",
level: 2,
applicable: "always",
value: 10
},
// 其他規則們...
]
}
]
使用 docker 並且掛載專案的 .git
以及 commitlintrc.js
docker run --rm -v $(pwd)/.git:/app/.git -v $(pwd)/commitlintrc.js:/app/commitlintrc.js leo03164/commitlint-generator
如果你沒有 nodejs 請先安裝 nodejs
版本資訊 nodejs > 16.13.0
npm i -g commit-lint-generator
commitlint-generator
Parser
- body-leading-blank
Header
- header-case
- header-full-stop
- header-max-length
- header-min-length
- header-trim
Type
- type-enum
- type-case
Body
- body-full-stop
- body-empty
- body-max-length
- body-max-line-length
- body-min-length
- body-case
Footer
- footer-empty
- footer-max-length
- footer-max-line-length
- footer-min-length