用途:按 Grey Haven Studio 实际 commitlint 配置的规范编写与校验 git 提交信息,适用于提交代码、评审 PR、设置提交模板、配置 commitlint、编写发布说明、合并前 squash 等场景。
格式:<type>(<scope>): <subject>,可选 body 与 footer,正文与页脚前均需空行。
强制规则:头部(type+scope+subject)最长 100 字符,不是 72 或 50;type 必填且小写;subject 必填且全小写,不允许任何大写;subject 用祈使语气(如 add,而不是 added 或 adds),结尾不加句号。
可用 type:feat、fix、docs、style、refactor、test、chore、perf、ci、build、revert,其他类型会被拒绝。
scope 可选,用于标明受影响模块,如前端 auth、ui、forms、layout、routes、queries、db、server;后端 api、models、repositories、services、schemas、db、utils、config;基础设施 deps、docker、deploy、scripts、ci、hooks。改动跨多区域或全局时可省略。
body 可选,说明动机、实现思路、破坏性变更、关联 issue 或罗列多项改动;每行约 90 字符换行,可用 markdown 列表,用现在时祈使语气。
footer 可选:破坏性变更以 BREAKING CHANGE: 开头并附说明;关联 Linear 用 Fixes GREY-456、Related to GREY-123;关联 GitHub 用 Fixes #234、Closes #456。
提交前检查:type 在允许列表内且小写;subject 全小写、祈使语气、无结尾句号;头部不超 100 字符;含 body 或 footer 时空行分隔;破坏性变更带 BREAKING CHANGE: 前缀。pre-commit 钩子会自动校验格式;Python 项目提交前激活 .venv;主分支推荐 squash 合并。
配套支持文件包括 examples/(前端、后端、多租户、破坏性变更示例)、reference/(commitlint 配置、scope 参考、校验说明)、templates/(简单提交、带 body、破坏性变更模板)、checklists/(提交前检查清单)。其他细节暂未提供。