用途:校验 Git 提交信息是否符合 Conventional Commits 规范,便于自动生成变更日志、语义化版本管理和保持提交历史整洁。
主要能力:检查 @commitlint/cli 与 @commitlint/config-conventional 是否安装,缺失时自动安装;检测项目自身的 commitlint 配置,若无则使用默认配置;校验提交信息的 type、scope、subject、body、footer 格式;报告具体错误并给出修复建议与示例。
使用方式:先检查是否可用:npx commitlint --version 2>/dev/null。若未安装,执行 npm install -g @commitlint/cli @commitlint/config-conventional。配置检测优先级为项目根目录的 commitlint.config.js、.commitlintrc.json、.commitlintrc.yaml、.commitlintrc、package.json 中的 commitlint 字段,最后回退到默认配置;无项目配置时会创建临时 .commitlintrc.json。校验方式包括:echo "<message>" | npx commitlint、cat <file> | npx commitlint、git log -1 --format=%B | npx commitlint。
适用场景:提交前检查、CI 中校验提交信息、统一团队提交规范。
限制:安装失败(权限或缺少 npm)时停止校验并报告修复步骤,不静默跳过;校验失败会逐条列出失败规则、问题与具体修复建议,并建议修正后重新校验。完整格式规范见 references/conventional-commits.md。