2.2 KiB
2.2 KiB
| name | description |
|---|---|
| commit-message | 基于 staged diff 生成符合 commit_message.md 的提交信息建议(:emoji: type(scope): subject)。Triggers: commit message, 提交信息, 写提交说明, 生成提交信息, emoji commit, git commit. |
Commit Message(提交信息建议器)
目标:基于 git diff --cached(staged diff)生成 1–3 条提交信息建议::emoji: type(scope): subject(可选 body/footer)。
权威规范(单一真源,优先就近路径):
docs/common/commit_message.mddocs/standards/playbook/docs/common/commit_message.md(Playbook vendoring 场景)
When to use
- 用户要“写提交信息 / 生成 commit message / 按规范写提交说明 / emoji commit”
- 已经
git add了一批改动,准备git commit
Procedure(default)
-
收集 staged 概览(尽量小上下文)
git diff --cached --name-statusgit diff --cached --stat- 必要时只看关键文件:
git diff --cached -- <path>
-
读取并遵循权威规范
- 优先读取就近的
commit_message.md(见上方路径),以其中的 type/emoji/格式为准。
- 优先读取就近的
-
生成 1 条主建议 + 2 条备选
- 格式固定:
:emoji: type(scope): subject(scope 可省略)。 - subject 用一句话描述“做了什么”,避免含糊词;尽量 ≤ 72 字符,不加句号。
- 格式固定:
-
判断是否建议拆分提交
- 当 staged 同时包含多个不相关模块/目的时:建议拆分,并给出拆分方式(按目录/功能点/风险)。
-
可选:补充 body/footer(如需要)
- body:说明 why/impact/verify(按规范建议换行)。
- footer:任务号或
BREAKING CHANGE:(若有)。
-
只给建议,不默认执行
git commit- 仅当用户明确要求时,才根据选定方案生成最终提交信息。
Output contract(固定输出)
- Detected: staged files summary(文件数 + 关键路径 + 是否可能需要拆分)
- Proposed:
- Option A(recommended):
:emoji: type(scope): subject - Option B:...
- Option C:...
- Option A(recommended):
- Optional body/footer(如适用)
- Notes:规范路径命中情况(哪个
commit_message.md被使用)