mcpField
W
writing-commit-messages

writing-commit-messages

github.com/revitalb-port开发055 次安装10 周前更新
代码仓库

关于 writing-commit-messages

一份编写提交消息的指南,目标是让消息对人和机器都易于理解。指南规定主题格式、提交类型、可选范围,以及正文、页脚和破坏性变更的写法。

主要功能

  1. 01主题长度与祈使语气规则
  2. 02定义提交类型分类
  3. 03可选的范围标记
  4. 04正文与页脚约定
  5. 05破坏性变更标记

适用场景

  1. 01编写简洁一致的提交主题
  2. 02为变更选择类型和范围
  3. 03在提交正文说明原因
  4. 04记录破坏性变更和问题链接

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/revitalb-port/skills-registry-demo --skill writing-commit-messages

安装后在 Claude Code 中输入/writing-commit-messages确认已加载。

详细介绍

编写提交消息

编写对人和机器都有用的提交消息。

格式

<type>(<optional scope>): <subject>

<optional body>

<optional footer>
主题行规则
  • 主题行不超过 50 个字符
  • 使用祈使语气:“add feature”,而不是“added feature”或“adding feature”
  • 类型前缀后的首字母不要大写
  • 末尾不要加句号
类型
Type使用场景
feat面向用户的新功能
fix修复错误
refactor重构代码,但不改变行为
docs文档变更
test添加或更新测试
chore构建、CI、工具、依赖项
perf性能改进
style格式、空白字符(不包括 CSS)
ciCI/CD 流水线变更
revert撤销之前的提交
范围(可选)

受影响的代码库区域:

  • feat(auth): add OAuth2 login flow
  • fix(api): handle null response from payments endpoint
  • refactor(db): extract query builder into module
正文(需要时添加)

解释为什么,而不是做了什么(差异会说明做了什么):

fix(checkout): prevent duplicate order submissions

The submit button was not disabled after the first click,
allowing users to create multiple orders. This caused
duplicate charges in Stripe.
页脚(需要时添加)
BREAKING CHANGE: rename `getUserById` to `findUser`

Closes #456
Co-authored-by: Name <email>

示例

好的:

feat(dashboard): add real-time notification bell
fix: resolve race condition in WebSocket reconnect
refactor(api): consolidate error handling middleware
test: add integration tests for payment webhook
chore: upgrade TypeScript to 5.4

不好的:

fixed stuff
WIP
update
changes
asdf

何时提交

  • 每次提交应代表一项逻辑变更
  • 不要在同一次提交中混合重构和功能开发
  • 不要提交尚未正常工作的代码(请改用 git stash)
  • 在功能分支上尽早且频繁地提交;如有需要,在合并前压缩提交

破坏性变更

如果提交引入了破坏性变更:

  1. 在类型后添加 !:feat(api)!: change auth token format
  2. 在页脚中添加 BREAKING CHANGE:,并附上迁移说明

评论

支持 Markdown