生成符合项目 commitlint 规范的提交消息。当用户请求生成 commit message、提交消息或询问如何编写提交信息时使用此 skill。
根据项目 commitlint 配置生成规范的提交消息。
智能检测变更范围:
当用户未明确指定分析哪些变更时,执行以下逻辑:
检查变更状态:使用 git diff --cached 和 git diff 检查暂存区和工作区。
根据检测结果决定:
获取对应的变更内容:
git diff --cachedgit diffgit diff HEAD动态读取最新的 commitlint 配置:
pnpm exec commitlint --print-config 获取完整配置分析变更时必须:
区分主要变更和次要变更:
评估变更一致性:
识别不确定的意图:
根据 commitlint 配置生成消息,遵循:
仅使用项目配置的规则:
使用正确的语言:
聚焦主要变更:
保持简洁准确:
仅提供提交消息内容,不执行提交操作:
type(scope): subject
body
footer
使用代码块展示,方便用户复制。
在生成前确认:
用户: 帮我生成提交消息
助手: 检测到暂存区有变更,正在为暂存区生成提交消息...
[读取配置和变更,分析后提供消息]
feat(auth): 添加用户登录功能
实现 JWT 认证和会话管理
用户: 帮我生成提交消息
助手: 检测到暂存区和工作区都有变更,需要为哪些变更生成提交消息?
用户: 暂存区
助手: [分析暂存区变更后提供消息]
fix(auth): 修复登录状态持久化问题
智能检测后必须先告知用户:
当检测到单一类型的变更时,在生成前说明:
当检测到多种类型的变更时,明确询问:
"检测到暂存区和工作区都有变更,需要为哪些变更生成提交消息?
检测到多个不相关改动时:
"检测到多个独立的变更:
建议拆分为两个独立的提交。是否需要指导如何拆分?"
无法确定变更目的时:
"这些更改的主要目的是什么?
所有变更都是次要的(如格式化、导入排序):
按实际情况生成对应的 type(如 style, chore),不要忽略这些变更。