conventional-git

仓库工作流

统一 Git 分支命名和简体中文提交信息。创建或命名分支、编写或检查 commit message、按用户要求提交代码时自动应用;提交信息遵循 Conventional Commits,描述和正文必须使用简体中文。

npx skills add bingwu-devkit/skills --skill conventional-git
下载 ZIP
运行前要求
  • Git(按需) : 实际创建分支、检查仓库或提交代码时需要可用的 git 命令;仅生成命名建议或检查提交信息格式时无需安装。

SKILL.md

Git 分支命名与中文提交规范#

仅约束分支命名和提交信息。相关任务自动应用本规范,无需用户手动调用。生成建议或检查格式时,不因此执行分支创建或 Git 提交;实际操作按用户请求执行。

类型选择#

分支前缀和提交类型使用以下英文标识,按实际工作选择:

类型 用途
feat 新增功能
fix 修复缺陷
docs 仅修改文档
style 格式调整,不改变逻辑
refactor 重构,不新增功能或修复缺陷
perf 性能优化
test 添加或修改测试
build 构建系统或依赖变更
ci 持续集成配置变更
chore 不属于以上类型的维护工作
revert 回退已有提交

分支命名#

格式:<type>/<description>;有关联的 Issue 编号时使用 <type>/<issue>-<description>。

  • 类型和描述使用小写英文;多词描述用连字符 - 连接。
  • 仅使用小写英文字母、数字、连字符及类型后的一个 /,不使用中文、空格或下划线。
  • 描述部分不超过 50 个字符,不含类型、分隔符和可选 Issue 编号。
  • 描述说明具体任务,避免使用 update、changes 等无法识别用途的名称。

示例:

feat/user-login
fix/42-login-timeout
docs/api-reference
build/update-npm-dependencies

提交信息#

遵循 Conventional Commits:

<type>[(scope)][!]: <中文描述>

<可选中文正文>

<可选页脚>

中文要求#

  • 无论用户的任务描述、代码或已有提交使用什么语言,标题中的描述、正文和页脚中的说明文字都必须使用简体中文。
  • 类型保留英文,例如 feat:、fix:、docs:;可选 scope 使用简短的小写英文模块名,例如 auth、ui、deps。
  • 技术专有名词、代码标识符、路径、版本号和提交哈希保留原样,例如 JWT、UserAuthService、npm、Go 1.21。
  • BREAKING CHANGE: 等机器识别标记保留英文,其后的解释使用简体中文。不要把英文句子当作正文或页脚说明。

格式要求#

  • 标题不超过 72 个字符,以“添加”“修复”“更新”“移除”等动作词描述具体改动,不使用“已完成”等冗余表述。
  • 冒号后留一个空格,标题末尾不加句号,包括中文句号。
  • scope 表示模块或范围,不使用动作短语,例如使用 auth,不使用 adding-auth。
  • 正文与标题之间空一行;需要正文时,说明改动原因和关键影响。
  • 提交类型由实际改动决定,不机械照搬当前分支前缀;例如功能分支上的独立缺陷修复仍使用 fix。
  • 破坏兼容性的变更必须在类型或 scope 后加 !,或添加 BREAKING CHANGE: 页脚,不能只在正文中描述。
  • 回退提交使用 revert,正文用中文说明回退的提交并保留其哈希;将 Git 自动生成的英文说明改写为中文。
  • 不添加 AI 签名、AI 署名或面向 AI 助手的 Co-authored-by 页脚。

示例:

feat(auth): 添加 JWT 令牌刷新
fix(auth): 修复并发请求导致的登录状态异常

为请求添加唯一标识,仅处理最新请求的响应,防止过期响应覆盖当前登录状态。
refactor(config)!: 调整配置文件格式

BREAKING CHANGE: 旧版配置文件不再兼容,需要迁移至新版格式。
revert(auth): 回退 JWT 登录实现

回退提交 abc1234f,恢复原有登录流程。

FILES · 2