用途:从已暂存(staged)的 diff 生成或校验符合 Conventional Commits 规范的提交信息,适用于起草提交信息、检查仓库规则、从改动推断 scope。
主要能力:按 feat/fix/perf/refactor/docs/test/build/ci/chore/style/revert 选择类型;生成 type(scope): 祈使句摘要(≤72 字符,理想 50,无句末句号);用 ! 或 BREAKING CHANGE: footer 标记破坏性变更;仅在需要说明风险、非显然理由或破坏性细节时写正文;支持 AI 参与提交的 trailer 规范(默认 Assisted-by:,另有 Claude-Session:、Audit-*;禁止在标题或正文写工具署名)。
使用方式:先看 git diff --staged --name-status、git diff --staged --stat,必要时用 git diff --staged --unified=1;从 config.yaml 或最近稳定目录推断 scope;生成一条主建议加最多两条备选及简短理由。校验时返回 PASS/WARN/FAIL 与改写建议。本地校验命令:python scripts/commit_validator.py validate --message "...";批量 lint:python scripts/commit_validator.py lint --input data/sample-commit-history.json;报告:python scripts/commit_validator.py report --input data/sample-commit-history.json --output report.md。
适用场景:单仓库或 monorepo 提交、PR 前提交步骤、提交历史质量检查。
限制:以暂存区为提交边界,索引为空则停止;混合无关改动应先建议拆分;校验脚本使用内置默认策略,不加载 config.yaml;不夸大 diff 中不可见的影响;避免 update、fix stuff、WIP 等模糊摘要;不使用过去时或动名词;不凭记忆引用发布工具主版本,需查其发布页。