mcpField
C
conventional-commit

conventional-commit

github.com/marcelorodrigo开发19955 次安装8 周前更新
代码仓库

关于 conventional-commit

面向开发者和编码 Agent 的 Git 提交规范技能,涵盖 Conventional Commits 类型以及分支准备、主题、正文和破坏性变更规则。

主要功能

  1. 01按类型组织提交格式
  2. 02分支命名指导
  3. 03主题与正文规则
  4. 04破坏性变更和回滚格式
  5. 05单一变更提交原则

适用场景

  1. 01提交前准备功能分支
  2. 02编写修复、功能或重构提交
  3. 03说明 API 破坏性变更
  4. 04回滚先前的提交

安装

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

$npx skills add https://github.com/marcelorodrigo/agent-skills --skill conventional-commit

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

详细介绍

Conventional Commit 提交信息

创建提交时,请遵循以下约定。

前置条件

提交前,请确保你正在功能分支上操作,而不是主分支。

# Check current branch
git branch --show-current

如果你在 main 或 master 分支上,请先创建一个新分支:

# Create and switch to a new branch
git checkout -b <type>/<short-description>

分支命名应遵循以下模式:<type>/<short-description>,其中 type 应与提交类型一致(例如 feat/add-user-auth、fix/null-pointer-error、refactor/extract-validation)。

格式

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

<body>

<footer>

标题行为必填项。范围可选。每行长度必须少于 100 个字符。

提交类型

类型用途
build构建系统或 CI 变更
chore常规维护任务
ci持续集成配置
deps依赖项更新
docs文档变更
feat新功能
fixBug 修复
perf性能改进
refactor代码重构(不改变行为)
revert撤销之前的提交
style代码风格和格式调整
test添加、更新或改进测试

主题行规则

  • 使用祈使语气和现在时:“add feature”,而不是“added feature”
  • 首字母不要大写
  • 末尾不要加句号
  • 最多 70 个字符

正文指南

  • 说明是什么以及为什么,而非如何实现
  • 使用祈使语气和现在时
  • 说明变更的动机
  • 适用时,对比之前的行为

Conventional Commits

提交包含以下结构元素,用于向库的使用者传达意图:

  • fix:类型为 fix 的提交会修复代码库中的 Bug(对应语义化版本中的 PATCH)。
  • feat:类型为 feat 的提交会为代码库引入新功能(对应语义化版本中的 MINOR)。
  • BREAKING CHANGE:带有 BREAKING CHANGE: 页脚,或在类型/范围后追加 ! 的提交,会引入不兼容的 API 变更(对应语义化版本中的 MAJOR)。任何类型的提交都可以包含 BREAKING CHANGE。
  • 允许使用 fix: 和 feat: 以外的类型,例如,@commitlint/config-conventional(基于 Angular 约定)推荐使用 build:、chore:、ci:、docs:、style:、refactor:、perf:、test: 等类型。
  • 可以提供 BREAKING CHANGE: 以外的页脚,其格式遵循与 git trailer 格式相似的约定。

示例

简单修复
fix(api): handle null response in user endpoint

The user API could return null for deleted accounts, causing a crash
in the dashboard. Add null check before accessing user properties.
带范围的功能
feat(alerts): add Slack thread replies for alert updates

When an alert is updated or resolved, post a reply to the original
Slack thread instead of creating a new message. This keeps related
notifications grouped together.
重构
refactor: extract common validation logic to shared module

Move duplicate validation code from three endpoints into a shared
validator class. No behavior change.
不兼容变更
feat(api)!: remove deprecated v1 endpoints

Remove all v1 API endpoints that were deprecated in version 23.1.
Clients should migrate to v2 endpoints.

BREAKING CHANGE: v1 endpoints no longer available

撤销格式

revert: feat(api): add new endpoint

This reverts commit abc123def456.

Reason: Caused performance regression in production.

原则

  • 每次提交都应是单一且稳定的变更
  • 提交应可独立审查
  • 每次提交后,代码库都应处于可正常工作的状态

参考资料

评论

支持 Markdown