{"id":"0282a6b7-35c7-4764-b0d5-fe7e51111220","shortId":"UjWdrX","kind":"skill","title":"chinese-commit-conventions","tagline":"中文 Git 提交规范 — 适配国内团队的 commit message 规范和 changelog 自动化","description":"# 中文 Git 提交规范\n\n## 1. Conventional Commits 中文适配\n\n基于 Conventional Commits 1.0.0 规范，针对中文团队的实际使用习惯进行适配。\n\n### 类型（type）定义\n\n| 类型       | 说明                         | 示例场景                   |\n| ---------- | ---------------------------- | -------------------------- |\n| `feat`     | 新功能                       | 添加用户注册模块           |\n| `fix`      | 修复缺陷                     | 修复登录页白屏问题         |\n| `docs`     | 文档变更                     | 更新 API 接口文档          |\n| `style`    | 代码格式（不影响逻辑）       | 调整缩进、补充分号         |\n| `refactor` | 重构（非新功能、非修复）     | 拆分过长的服务类           |\n| `perf`     | 性能优化                     | 优化首页列表查询速度       |\n| `test`     | 测试相关                     | 补充用户模块单元测试       |\n| `chore`    | 构建/工具/依赖变更           | 升级 webpack 到 v5         |\n| `ci`       | 持续集成配置                 | 修改 GitHub Actions 流程   |\n| `revert`   | 回滚提交                     | 回滚 v2.1.0 的登录重构     |\n\n### 原则\n\n- type 保留英文关键字（工具链兼容性好）\n- scope 和 description 使用中文\n- body 使用中文完整描述\n\n## 2. 中文 commit message 模板\n\n```\n<type>(<scope>): <subject>\n\n<body>\n\n<footer>\n```\n\n### 完整示例\n\n```\nfeat(用户模块): 添加手机号一键登录功能\n\n- 接入运营商一键登录 SDK\n- 支持移动、联通、电信三网\n- 登录失败自动降级到短信验证码\n\nCloses #128\n```\n\n```\nfix(订单): 修复并发下单导致库存超卖的问题\n\n在高并发场景下，原有的库存扣减逻辑存在竞态条件。\n改用 Redis 分布式锁 + 数据库乐观锁双重保障。\n\n影响范围：订单服务、库存服务\n测试确认：已通过 500 并发压测验证\n\nCloses #256\n```\n\n## 3. Subject 行规范\n\n### 格式\n\n```\n<type>(<scope>): <description>\n```\n\n### 规则\n\n- **type**: 必填，从上方类型表中选取\n- **scope**: 选填，表示影响范围，使用中文模块名\n  - 示例：`用户模块`、`订单`、`支付`、`基础组件`\n- **description**: 必填，中文简述，不超过 50 个字符\n  - 使用动宾短语：「添加 xxx」「修复 xxx」「优化 xxx」\n  - 不加句号结尾\n  - 不要写「修改了代码」这种无意义描述\n\n### 好的示例\n\n```\nfeat(权限): 添加基于 RBAC 的细粒度权限控制\nfix(支付): 修复微信支付回调签名验证失败的问题\nperf(列表页): 优化大数据量表格的虚拟滚动渲染\nrefactor(网关): 将单体网关拆分为独立微服务\n```\n\n### 反面示例\n\n```\n# 以下写法应避免\nfix: 修了一个 bug\nfeat: 更新代码\nchore: 改了点东西\n```\n\n## 4. Body 编写规范\n\nBody 用于详细说明本次变更的动机、方案和影响。\n\n### 编写要点\n\n- 说明**为什么**要做这个改动（背景/原因）\n- 说明**怎么做**的（技术方案摘要）\n- 说明**影响范围**（哪些模块、接口受影响）\n- 每行不超过 72 个字符（中文约 36 个汉字）\n- 正文与标题之间空一行\n\n### Body 模板\n\n```\n<改动背景和原因>\n\n技术方案：\n- <方案要点 1>\n- <方案要点 2>\n\n影响范围：<受影响的模块或服务>\n```\n\n## 5. Breaking Changes 标注\n\n当提交包含不兼容变更时，必须在 footer 中标注。\n\n### 格式一：footer 标注\n\n```\nfeat(接口): 重构用户信息返回结构\n\n将用户接口返回的扁平结构改为嵌套结构，前端需同步调整字段取值路径。\n\nBREAKING CHANGE: /api/user/info 返回结构变更\n- avatar 字段移入 profile 对象\n- 移除已废弃的 nickname 字段，统一使用 displayName\n```\n\n### 格式二：type 后加感叹号\n\n```\nfeat(接口)!: 重构用户信息返回结构\n```\n\n### 团队约定\n\n- 涉及数据库表结构变更 -> 必须标注 BREAKING CHANGE\n- 涉及公共 API 参数/返回值变更 -> 必须标注\n- 涉及配置文件格式变更 -> 必须标注\n- 标注时须写明迁移方法或升级步骤\n\n## 6. Issue 关联\n\n### GitHub 格式\n\n```\nCloses #128\nRefs #129, #130\n```\n\n### Gitee 格式\n\n```\nCloses #I5ABC1\n相关需求: https://gitee.com/org/repo/issues/I5ABC1\n```\n\n### Coding 格式\n\n```\n关联 Coding 缺陷 #12345\nfixed=project-2024/issues/678\n```\n\n### 通用写法\n\n```\n# footer 中关联多个平台\nCloses #128\nJira: PROJ-456\n禅道: #789\n```\n\n## 7. Changelog 自动生成配置\n\n### 安装 conventional-changelog\n\n```bash\nnpm install -D conventional-changelog-cli conventional-changelog-conventionalcommits\n```\n\n### package.json 脚本\n\n```json\n{\n  \"scripts\": {\n    \"changelog\": \"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s\",\n    \"changelog:all\": \"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s -r 0\",\n    \"release\": \"standard-version\"\n  }\n}\n```\n\n### .versionrc.js 中文配置\n\n```javascript\nmodule.exports = {\n  types: [\n    { type: 'feat', section: '新功能' },\n    { type: 'fix', section: '缺陷修复' },\n    { type: 'perf', section: '性能优化' },\n    { type: 'refactor', section: '代码重构' },\n    { type: 'docs', section: '文档更新' },\n    { type: 'test', section: '测试' },\n    { type: 'chore', section: '构建/工具', hidden: true },\n    { type: 'ci', section: '持续集成', hidden: true },\n    { type: 'style', section: '代码格式', hidden: true }\n  ],\n  commitUrlFormat: '{{host}}/{{owner}}/{{repository}}/commit/{{hash}}',\n  compareUrlFormat: '{{host}}/{{owner}}/{{repository}}/compare/{{previousTag}}...{{currentTag}}'\n}\n```\n\n## 8. commitlint 中文配置\n\n### 安装\n\n```bash\nnpm install -D @commitlint/cli @commitlint/config-conventional\n```\n\n### commitlint.config.js\n\n```javascript\nmodule.exports = {\n  extends: ['@commitlint/config-conventional'],\n  rules: {\n    'type-enum': [2, 'always', [\n      'feat', 'fix', 'docs', 'style', 'refactor',\n      'perf', 'test', 'chore', 'ci', 'revert'\n    ]],\n    'type-case': [2, 'always', 'lower-case'],\n    'type-empty': [2, 'never'],\n    'subject-empty': [2, 'never'],\n    'subject-max-length': [2, 'always', 100],\n    // 允许中文字符，关闭 subject-case 限制\n    'subject-case': [0],\n    // 关闭 header-max-length 或放宽（中文占宽较大）\n    'header-max-length': [2, 'always', 120],\n    'body-max-line-length': [1, 'always', 200],\n    'footer-max-line-length': [1, 'always', 200]\n  },\n  prompt: {\n    messages: {\n      type: '选择提交类型:',\n      scope: '输入影响范围（可选）:',\n      subject: '填写简短描述:',\n      body: '填写详细描述（可选，使用 \"|\" 换行）:',\n      breaking: '列出不兼容变更（可选）:',\n      footer: '关联的 Issue（可选，例如 #123）:',\n      confirmCommit: '确认提交以上信息？'\n    }\n  }\n}\n```\n\n## 9. husky + lint-staged 集成\n\n### 安装与初始化\n\n```bash\nnpm install -D husky lint-staged\nnpx husky init\n```\n\n### 配置 commit-msg 钩子\n\n```bash\n# .husky/commit-msg\nnpx --no -- commitlint --edit \"$1\"\n```\n\n### 配置 pre-commit 钩子\n\n```bash\n# .husky/pre-commit\nnpx lint-staged\n```\n\n### lint-staged 配置（package.json）\n\n```json\n{\n  \"lint-staged\": {\n    \"*.{js,ts,jsx,tsx,vue}\": [\n      \"eslint --fix\",\n      \"prettier --write\"\n    ],\n    \"*.{css,scss,less}\": [\n      \"stylelint --fix\",\n      \"prettier --write\"\n    ],\n    \"*.md\": [\n      \"prettier --write\"\n    ]\n  }\n}\n```\n\n### 交互式提交（可选）\n\n```bash\nnpm install -D commitizen cz-conventional-changelog\n\n# package.json 中添加\n{\n  \"config\": {\n    \"commitizen\": {\n      \"path\": \"cz-conventional-changelog\"\n    }\n  },\n  \"scripts\": {\n    \"commit\": \"cz\"\n  }\n}\n```\n\n运行 `npm run commit` 即可进入交互式提交引导。\n\n## 10. 团队规范检查清单\n\n### 提交前自查\n\n- [ ] type 是否正确选择（feat/fix/docs/...）\n- [ ] scope 是否准确描述了影响模块\n- [ ] subject 是否为动宾短语且不超过 50 字符\n- [ ] subject 末尾是否去掉了句号\n- [ ] body 是否说明了变更原因和方案\n- [ ] 不兼容变更是否标注了 BREAKING CHANGE\n- [ ] 相关 Issue 是否已关联\n- [ ] 一次提交是否只做了一件事（原子性）\n\n### 团队落地步骤\n\n1. **工具链配置**：按上述步骤配置 commitlint + husky，让规范可执行\n2. **模板共享**：将 `.commitlintrc`、`.husky/` 等配置提交到仓库\n3. **团队培训**：组织 15 分钟的规范说明会，演示工具使用\n4. **Code Review**：Review 时关注 commit message 质量\n5. **持续迭代**：每季度回顾规范执行情况，根据团队反馈调整\n\n### 常见问题\n\n**Q: 中英文混排时空格怎么处理？**\nA: 中文与英文/数字之间加一个空格，如「添加 Redis 缓存」。\n\n**Q: scope 用中文还是英文？**\nA: 团队内统一即可。推荐中文（可读性好），但需在 commitlint 中关闭 scope-case 检查。\n\n**Q: 多人协作时如何保证规范一致？**\nA: 靠工具而非靠自觉。配置好 husky + commitlint，不符合规范的提交会被拦截。","tags":["chinese","commit","conventions","superpowers","jnmetacode","agent-skills","agentic-coding","ai-coding","claude-code","code-review","cursor","gemini-cli"],"capabilities":["skill","source-jnmetacode","skill-chinese-commit-conventions","topic-agent-skills","topic-agentic-coding","topic-ai-coding","topic-chinese","topic-claude-code","topic-code-review","topic-cursor","topic-gemini-cli","topic-kiro","topic-mcp","topic-npm-package","topic-prompt-engineering"],"categories":["superpowers-zh"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/jnMetaCode/superpowers-zh/chinese-commit-conventions","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add jnMetaCode/superpowers-zh","source_repo":"https://github.com/jnMetaCode/superpowers-zh","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 1857 github stars · SKILL.md body (6,294 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-03T00:52:45.464Z","embedding":null,"createdAt":"2026-04-18T21:55:52.766Z","updatedAt":"2026-05-03T00:52:45.464Z","lastSeenAt":"2026-05-03T00:52:45.464Z","tsv":"'-2024':293 '-456':302 '/api/user/info':237 '/commit':405 '/compare':411 '/issues/678':294 '/org/repo/issues/i5abc1':284 '0':348,479 '1':17,214,499,507,564,657 '1.0.0':24 '10':632 '100':469 '120':493 '123':532 '12345':290 '128':105,273,299 '129':275 '130':276 '15':672 '2':89,216,433,448,456,461,467,491,663 '200':501,509 '256':123 '3':124,669 '36':206 '4':182,675 '5':219,683 '50':145,642 '500':120 '6':267 '7':305 '72':203 '789':304 '8':414 '9':535 'action':72 'alway':434,449,468,492,500,508 'api':42,260 'avatar':239 'bash':312,418,542,558,570,606 'bodi':87,183,185,209,495,519,646 'body-max-line-length':494 'break':220,235,257,524,649 'bug':177 'case':447,452,474,478,709 'chang':221,236,258,650 'changelog':12,306,311,318,322,328,331,337,341,614,623 'changelog.md':335,345 'chines':2 'chinese-commit-convent':1 'chore':60,180,383,442 'ci':68,390,443 'cli':319 'close':104,122,272,279,298 'code':285,288,676 'commit':3,9,19,23,91,555,568,625,630,680 'commit-msg':554 'commitizen':610,618 'commitlint':415,562,660,705,717 'commitlint.config.js':424 'commitlint/cli':422 'commitlint/config-conventional':423,428 'commitlintrc':666 'commiturlformat':401 'compareurlformat':407 'config':617 'confirmcommit':533 'convent':4,18,22,310,317,321,330,340,613,622 'conventional-changelog':309,329,339 'conventional-changelog-c':316 'conventional-changelog-conventionalcommit':320 'conventionalcommit':323,333,343 'css':594 'currenttag':413 'cz':612,621,626 'cz-conventional-changelog':611,620 'd':315,421,545,609 'descript':85,141 'displaynam':247 'doc':39,375,437 'edit':563 'empti':455,460 'enum':432 'eslint':590 'extend':427 'feat':33,95,159,178,230,251,359,435 'feat/fix/docs':637 'fix':36,106,164,175,291,363,436,591,598 'footer':225,228,296,503,527 'footer-max-line-length':502 'git':6,15 'gite':277 'gitee.com':283 'gitee.com/org/repo/issues/i5abc1':282 'github':71,270 'hash':406 'header':482,488 'header-max-length':481,487 'hidden':387,393,399 'host':402,408 'huski':536,546,551,661,667,716 'husky/commit-msg':559 'husky/pre-commit':571 'i5abc1':280 'init':552 'instal':314,420,544,608 'issu':268,529,652 'javascript':355,425 'jira':300 'js':585 'json':326,581 'jsx':587 'length':466,484,490,498,506 'less':596 'line':497,505 'lint':538,548,574,577,583 'lint-stag':537,547,573,576,582 'lower':451 'lower-cas':450 'max':465,483,489,496,504 'md':601 'messag':10,92,511,681 'module.exports':356,426 'msg':556 'never':457,462 'nicknam':244 'npm':313,419,543,607,628 'npx':550,560,572 'owner':403,409 'p':332,342 'package.json':324,580,615 'path':619 'perf':54,167,367,440 'pre':567 'pre-commit':566 'prettier':592,599,602 'previoustag':412 'profil':241 'proj':301 'project':292 'prompt':510 'q':688,697,711 'r':347 'rbac':162 'redi':112,695 'ref':274 'refactor':49,170,371,439 'releas':349 'repositori':404,410 'revert':74,444 'review':677,678 'rule':429 'run':629 'scope':83,132,514,638,698,708 'scope-cas':707 'script':327,624 'scss':595 'sdk':99 'section':360,364,368,372,376,380,384,391,397 'skill' 'skill-chinese-commit-conventions' 'source-jnmetacode' 'stage':539,549,575,578,584 'standard':351 'standard-vers':350 'style':44,396,438 'stylelint':597 'subject':125,459,464,473,477,517,640,644 'subject-cas':472,476 'subject-empti':458 'subject-max-length':463 'test':57,379,441 'topic-agent-skills' 'topic-agentic-coding' 'topic-ai-coding' 'topic-chinese' 'topic-claude-code' 'topic-code-review' 'topic-cursor' 'topic-gemini-cli' 'topic-kiro' 'topic-mcp' 'topic-npm-package' 'topic-prompt-engineering' 'true':388,394,400 'ts':586 'tsx':588 'type':28,80,129,249,357,358,362,366,370,374,378,382,389,395,431,446,454,512,635 'type-cas':445 'type-empti':453 'type-enum':430 'v2.1.0':77 'v5':67 'version':352 'versionrc.js':353 'vue':589 'webpack':65 'write':593,600,603 'xxx':149,151,153 '一次提交是否只做了一件事':654 '不兼容变更是否标注了':648 '不加句号结尾':154 '不影响逻辑':46 '不符合规范的提交会被拦截':718 '不要写':155 '不超过':144 '个字符':146,204 '个汉字':207 '中关联多个平台':297 '中关闭':706 '中文':5,14,90 '中文与英文':691 '中文占宽较大':486 '中文简述':143 '中文约':205 '中文适配':20 '中文配置':354,416 '中标注':226 '中添加':616 '中英文混排时空格怎么处理':689 '为什么':190 '交互式提交':604 '从上方类型表中选取':131 '代码格式':45,398 '代码重构':373 '以下写法应避免':174 '优化':152 '优化大数据量表格的虚拟滚动渲染':169 '优化首页列表查询速度':56 '但需在':704 '使用':522 '使用中文':86 '使用中文完整描述':88 '使用中文模块名':135 '使用动宾短语':147 '例如':531 '依赖变更':63 '保留英文关键字':81 '修了一个':176 '修复':150 '修复并发下单导致库存超卖的问题':108 '修复微信支付回调签名验证失败的问题':166 '修复登录页白屏问题':38 '修复缺陷':37 '修改':70 '修改了代码':156 '允许中文字符':470 '关联':269,287 '关联的':528 '关闭':471,480 '分布式锁':113 '分钟的规范说明会':673 '列出不兼容变更':525 '列表页':168 '到':66 '前端需同步调整字段取值路径':234 '升级':64 '即可进入交互式提交引导':631 '原则':79 '原因':193 '原子性':655 '原有的库存扣减逻辑存在竞态条件':110 '参数':261 '反面示例':173 '受影响的模块或服务':218 '可读性好':703 '可选':516,521,526,530,605 '后加感叹号':250 '和':84 '哪些模块':200 '回滚':76 '回滚提交':75 '团队内统一即可':701 '团队培训':670 '团队约定':254 '团队落地步骤':656 '团队规范检查清单':633 '在高并发场景下':109 '基于':21 '基础组件':140 '填写简短描述':518 '填写详细描述':520 '多人协作时如何保证规范一致':712 '好的示例':158 '如':693 '字段':245 '字段移入':240 '字符':643 '安装':308,417 '安装与初始化':541 '完整示例':94 '定义':29 '对象':242 '将':665 '将单体网关拆分为独立微服务':172 '将用户接口返回的扁平结构改为嵌套结构':233 '工具':62,386 '工具链兼容性好':82 '工具链配置':658 '已通过':119 '常见问题':687 '并发压测验证':121 '库存服务':117 '当提交包含不兼容变更时':223 '影响范围':115,199,217 '必填':130,142 '必须在':224 '必须标注':256,263,265 '怎么做':195 '性能优化':55,369 '或放宽':485 '技术方案':212 '技术方案摘要':197 '拆分过长的服务类':53 '持续迭代':684 '持续集成':392 '持续集成配置':69 '按上述步骤配置':659 '换行':523 '接入运营商一键登录':98 '接口':231,252 '接口受影响':201 '接口文档':43 '推荐中文':702 '提交前自查':634 '提交规范':7,16 '支付':139,165 '支持移动':100 '改了点东西':181 '改动背景和原因':211 '改用':111 '数字之间加一个空格':692 '数据库乐观锁双重保障':114 '文档变更':40 '文档更新':377 '新功能':34,361 '方案和影响':187 '方案要点':213,215 '时关注':679 '是否为动宾短语且不超过':641 '是否准确描述了影响模块':639 '是否已关联':653 '是否正确选择':636 '是否说明了变更原因和方案':647 '更新':41 '更新代码':179 '末尾是否去掉了句号':645 '权限':160 '构建':61,385 '标注':222,229 '标注时须写明迁移方法或升级步骤':266 '根据团队反馈调整':686 '格式':127,271,278,286 '格式一':227 '格式二':248 '检查':710 '模板':93,210 '模板共享':664 '正文与标题之间空一行':208 '每季度回顾规范执行情况':685 '每行不超过':202 '流程':73 '测试':381 '测试相关':58 '测试确认':118 '涉及公共':259 '涉及数据库表结构变更':255 '涉及配置文件格式变更':264 '添加':148,694 '添加基于':161 '添加手机号一键登录功能':97 '添加用户注册模块':35 '演示工具使用':674 '用中文还是英文':699 '用于详细说明本次变更的动机':186 '用户模块':96,137 '电信三网':102 '登录失败自动降级到短信验证码':103 '的':196 '的登录重构':78 '的细粒度权限控制':163 '相关':651 '相关需求':281 '确认提交以上信息':534 '示例':136 '示例场景':32 '禅道':303 '移除已废弃的':243 '等配置提交到仓库':668 '类型':27,30 '组织':671 '统一使用':246 '缓存':696 '编写要点':188 '编写规范':184 '缺陷':289 '缺陷修复':365 '网关':171 '联通':101 '背景':192 '脚本':325 '自动化':13 '自动生成配置':307 '行规范':126 '补充分号':48 '补充用户模块单元测试':59 '表示影响范围':134 '要做这个改动':191 '规则':128 '规范':25 '规范和':11 '订单':107,138 '订单服务':116 '让规范可执行':662 '说明':31,189,194,198 '调整缩进':47 '质量':682 '输入影响范围':515 '运行':627 '返回值变更':262 '返回结构变更':238 '这种无意义描述':157 '适配国内团队的':8 '选填':133 '选择提交类型':513 '通用写法':295 '配置':553,565,579 '配置好':715 '重构':50 '重构用户信息返回结构':232,253 '针对中文团队的实际使用习惯进行适配':26 '钩子':557,569 '限制':475 '集成':540 '非修复':52 '非新功能':51 '靠工具而非靠自觉':714","prices":[{"id":"06d010cd-1a07-4354-b53a-97942d7b08bd","listingId":"0282a6b7-35c7-4764-b0d5-fe7e51111220","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"jnMetaCode","category":"superpowers-zh","install_from":"skills.sh"},"createdAt":"2026-04-18T21:55:52.766Z"}],"sources":[{"listingId":"0282a6b7-35c7-4764-b0d5-fe7e51111220","source":"github","sourceId":"jnMetaCode/superpowers-zh/chinese-commit-conventions","sourceUrl":"https://github.com/jnMetaCode/superpowers-zh/tree/main/skills/chinese-commit-conventions","isPrimary":false,"firstSeenAt":"2026-04-18T21:55:52.766Z","lastSeenAt":"2026-05-03T00:52:45.464Z"}],"details":{"listingId":"0282a6b7-35c7-4764-b0d5-fe7e51111220","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"jnMetaCode","slug":"chinese-commit-conventions","github":{"repo":"jnMetaCode/superpowers-zh","stars":1857,"topics":["agent-skills","agentic-coding","ai-coding","chinese","claude-code","code-review","cursor","gemini-cli","kiro","mcp","npm-package","prompt-engineering","skills","superpowers","tdd","trae"],"license":"mit","html_url":"https://github.com/jnMetaCode/superpowers-zh","pushed_at":"2026-04-28T15:32:18Z","description":"🦸 AI 编程超能力 · 中文增强版 — superpowers（116k+ ⭐）完整汉化 + 6 个中国原创 skills，让 Claude Code / Copilot CLI / Hermes Agent / Cursor / Windsurf / Kiro / Gemini CLI 等 16 款 AI 编程工具真正会干活","skill_md_sha":"04e2c85f69f63102ef30c7592e10d2921fa36f92","skill_md_path":"skills/chinese-commit-conventions/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/jnMetaCode/superpowers-zh/tree/main/skills/chinese-commit-conventions"},"layout":"multi","source":"github","category":"superpowers-zh","frontmatter":{"name":"chinese-commit-conventions","description":"中文 Git 提交规范 — 适配国内团队的 commit message 规范和 changelog 自动化"},"skills_sh_url":"https://skills.sh/jnMetaCode/superpowers-zh/chinese-commit-conventions"},"updatedAt":"2026-05-03T00:52:45.464Z"}}