Commitizen 常规提交与语义化版本
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/generate-and-validate-conventional-commits-and-semver-release-bumps-with-commitizen。
技能介绍
提交历史与版本管理的痛点
在多人协作的代码仓库中,提交信息(commit message)往往风格各异,后期生成 CHANGELOG 或分析 Bug 引入点时如同考古。同时,手动计算语义化版本(SemVer)的发布增量(bump)容易出错,导致版本号与实际提交不匹配。
核心能力与工作流程
本技能基于 Commitizen 工具链,通过标准化流程解决上述问题:
- 生成规范提交:拦截原生的
git commit,通过交互式命令行引导开发者选择变更类型(如feat、fix)和影响范围,确保每条提交信息都符合 Conventional Commits 规范。 - 校验提交历史:在合并或发布前,审查已有的提交记录,过滤掉不符合规范的脏提交,保证仓库历史的纯净度。
- 计算版本增量:根据当前提交历史中的变更类型,自动推断出合适的语义化版本号增量(
major、minor或patch),消除手动修改package.json版本号的人为失误。
适用边界与注意点
该技能强依赖于仓库中已配置好提交规范(如 cz.config.js 或 .czrc)以及 Python 3.9+ 和 Commitizen CLI 环境。它仅负责生成和校验提交及版本号,不包含自动打 Tag 或推送 Release 的完整流水线动作。在核心业务流水线中直接引入前,需确保上游项目的 Commitizen 配置符合团队预期。
使用场景
- 多人协作的后端仓库,提交信息风格混乱,导致生成 CHANGELOG 或追溯 Bug 引入点时困难,需要统一提交规范。
- 发布新版本前需要根据提交历史自动计算版本号增量,避免手动修改 package.json 时出错或遗漏。
- 代码合并或打 Tag 前需要校验提交历史,过滤掉不符合 Conventional Commits 规范的脏提交。
适合人员
- 团队技术负责人或架构师,需要统一团队代码仓库的提交规范,确保历史记录可读、可追溯。
- 后端或全栈工程师,在多人协作项目中负责版本发布,需要自动化计算语义化版本增量。
- 开源项目维护者,需要标准化贡献者的提交格式,便于自动化生成 CHANGELOG 和版本管理。