mcpField
C
conventional-commits

conventional-commits

github.com/tigrisdata开发2101 次安装15 周前更新
代码仓库

关于 conventional-commits

帮助开发者采用 Conventional Commits 编写结构化提交信息的指南。它将提交类型与语义化版本变更、变更日志和自动发布流程关联起来,并说明格式、破坏性变更及 AI 归属标注。

主要功能

  1. 01按类型规范提交信息
  2. 02将提交类型对应版本变更
  3. 03支持变更日志与发布自动化
  4. 04标记破坏性变更与问题引用
  5. 05注明 AI 协助并使用 signoff

适用场景

  1. 01统一团队 Git 提交记录
  2. 02按提交内容生成变更日志
  3. 03依据提交类型触发版本发布

安装

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

$npx skills add https://github.com/tigrisdata/skills --skill conventional-commits

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

附带文件metadata.jsonREADME.md

详细介绍

Conventional Commits

用于版本控制的结构化提交消息格式,可提供清晰易读的项目历史记录。

概述

Conventional Commits 规范提供:

  • 自动生成变更日志 - 工具可以解析提交记录并生成 CHANGELOG.md
  • 语义化版本控制 - 提交类型对应版本升级幅度(feat → 次版本,breaking → 主版本)
  • 清晰的项目历史记录 - 标准化格式让 git log 更易读
  • 自动发布 - CI/CD 可以根据提交类型触发发布

快速参考

类型用途版本升级幅度
feat新功能MINOR
fix修复错误PATCH
docs仅修改文档PATCH
style格式调整,不改变逻辑PATCH
refactor重构代码,不改变行为PATCH
perf性能改进PATCH
test添加或更新测试PATCH
build构建系统或依赖项PATCH
ciCI/CD 配置PATCH
chore维护工作,不影响用户PATCH
revert撤销先前的提交PATCH

格式

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

规则:

  • 必须填写类型
  • 作用范围可选——使用括号标明受影响的部分:(api)、auth)、parser)
  • 必须填写描述
  • 描述应简洁、使用祈使语气、全小写,且末尾不加句号
  • 正文和页脚均为可选
  • 正文前需空一行,与主题分隔
  • 正文每行不超过 72 个字符

示例

feat: add user authentication

Implement JWT-based authentication with login/logout endpoints.
Includes password hashing and session management.

Closes: #123
fix(api): handle null response from server

Previous implementation crashed when server returned null.
Now returns empty result set.

Assisted-by: GLM 4.6 via Claude Code
feat(storage)!: change bucket listing API

BREAKING CHANGE: bucket list now returns async iterator
instead of array. Update all callers to use for-await.
refactor(core): simplify error handling

Consolidate duplicate error handlers into single utility.
No behavior changes - internal cleanup only.
revert: feat(auth): add OAuth support

This reverts commit 8b5a1c2. OAuth provider changed
their API and we need to redesign integration.

重大变更

可以通过以下两种方式标明重大变更:

选项 1:在类型或作用范围后添加 !

feat(api)!: remove deprecated endpoint

选项 2:添加 BREAKING CHANGE: 页脚

feat(api): remove deprecated endpoint

BREAKING CHANGE: endpoint no longer exists. Use newEndpoint instead.

AI 署名

AI Agent 必须在提交页脚中注明其协助:

Assisted-by: [Model Name] via [Tool Name]

示例:

  • Assisted-by: GLM 4.6 via Claude Code
  • Assisted-by: Claude Opus 4.5 via claude.ai

常见错误

错误错误原因正确写法
Added login feature使用过去时,且首字母大写feat: add login feature
fix bug.末尾有句号fix: resolve login error
update缺少类型chore: update dependencies
feature:add-auth冒号后缺少空格feat: add authentication
FEAT: big change类型使用大写feat: add authentication
描述跨多行且无空行缺少分隔在主题后添加空行

正文指南

  • 内容:说明变更的动机(代码注释则描述 HOW)
  • 对比:解释 WHY 和 WHAT,而不是代码细节
  • 为提高 git log 的可读性,每行不超过 72 个字符
feat(summarization): add support for nested bullet points

Previous implementation only flattened all content. Now preserves
hierarchy by respecting indentation levels. Users can now create
structured summaries with parent-child relationships.

Closes: #456

页脚指南

页脚用于:

  • 重大变更:BREAKING CHANGE: detailed explanation
  • 问题引用:Closes: #123、Fixes: #456、Refs: #789
  • AI 署名:Assisted-by: Model via Tool

多个页脚之间用空行分隔:

feat: add batch upload

Implements multipart upload for large files.

BREAKING CHANGE: upload() signature changed - now requires options object
Closes: #123
Assisted-by: GLM 4.6 via Claude Code

Git 提交标志

必需标志: 提交时始终使用 --signoff:

git commit --signoff -m "feat: add user authentication"

--signoff 标志会在提交消息中添加 Signed-off-by 尾注,表明提交者已确认该提交符合开发者来源证明(DCO)。

测试提交

提交前,请确认:

  1. 类型来自允许的列表
  2. 描述使用祈使语气(add、fix、update)
  3. 描述为全小写
  4. 描述末尾没有句号
  5. 使用 ! 或页脚标明重大变更
  6. 已注明 AI 署名(如适用)
  7. 正文解释 WHY,而非 HOW
  8. 使用 --signoff 标志

评论

支持 Markdown