SuperAPI AI 工具集

commit

编程与开发

查看项目

更新于 10-15 10:31

技能介绍

用途

该技能用于在 Git 工作流中创建原子化提交,并按照 WordPress 核心风格撰写提交信息。当用户要求“commit”更改、说“make a commit”或“commit my changes”、完成某项任务后应当提交,或显式调用 /commit 时,可触发该技能。

主要能力

  • 生成符合 WordPress 核心风格的提交信息。
  • 帮助判断何时应将更改拆分为多个提交。
  • 提供提交信息主题行与正文的格式规范。
  • 提供使用 HEREDOC 创建提交的命令示例。
  • 提供正反示例与提交前核对清单。

原子提交原则

每次提交应当是:

  • 最小有意义单元:能够独立成立的最小更改。
  • 单一职责:一次提交只包含一个任务、一个修复或一个功能。
  • 不混合关注点:不要将重构与功能、样式修复与缺陷修复混在一起。
  • 可工作:每次提交后代码库应保持可工作状态。

当更改同时包含以下内容时,应拆分为多个提交:

  • 缺陷修复和新功能
  • 重构和行为变更
  • 多个不相关的修复
  • 代码更改和依赖更新

提交信息格式

主题行(必需):

  • 最多 60 个字符。
  • 使用祈使语气,例如“Fix bug”,而不是“Fixed bug”或“Fixes bug”。
  • 结尾不加句号。
  • 首词首字母大写。
  • 具体说明改了什么。

正文(需要时):

  • 与主题行之间空一行。
  • 解释为什么做此更改,而不是改了什么。
  • 每行 72 字符换行。
  • 包含代码中不明显的上下文。

使用方式

  1. 审查更改:运行 git status 和 git diff。
  2. 检查是否混合关注点;如果更改服务于多个目的,分别暂存并提交;必要时使用 git add -p 进行部分暂存。
  3. 撰写主题行:以动词开头,如 Add、Fix、Update、Remove、Refactor、Improve;要具体;字符数不超过 60。
  4. 需要时撰写正文:解释更改背后的理由,提及非显而易见的副作用,引用相关上下文。
  5. 使用 HEREDOC 创建提交:
git commit -m "$(cat <<'EOF'
Subject line here (60 chars max)

Body explaining why this change was made. Focus on the
reasoning and context, not describing what the code does.
EOF
)"

不应添加 co-authored by 署名。

示例

好的提交:

  • Fix responsive breakpoint in navigation component,正文说明移动菜单在 768px 而非 782px 折叠,导致 iPad 竖屏布局问题,并将断点与 WordPress 管理界面响应式标准对齐。
  • Add input validation for email field
  • Remove deprecated getUserData function,正文说明该函数在 v2.1 被 fetchUserProfile 取代,且所有调用方已迁移。

应避免的提交:

  • 过于模糊:Fixed stuff
  • 使用过去时而非祈使语气:Added new feature
  • 一次提交包含多个关注点:Fix bug and add tests and update styles
  • 主题行超过 60 字符
  • 结尾带句号:Fix navigation bug.
  • 只描述改了什么而非为什么:Change maxLength from 50 to 100
  • 包含 co-authored by 行,例如 Generated with Claude Code、via Happy、Co-Authored-By: Claude noreply@anthropic.com、Co-Authored-By: Happy yesreply@happy.engineering

提交前核对清单

  • 主题行不超过 60 字符。
  • 主题使用祈使语气,如 Add/Fix/Update,而非 Added/Fixed/Updated。
  • 主题结尾无句号。
  • 提交只涉及一个关注点。
  • 如果更改并非自明,正文解释为什么。
  • 不包含 Co-Authored-By 行。

快速参考

元素 要求
主题长度 最多 60 字符
主题语气 祈使语气(Add、Fix、Update)
主题标点 结尾不加句号
正文分隔 主题后空一行
正文目的 解释为什么,而非改了什么

适用场景与限制

适用于需要按 WordPress 核心风格进行 Git 提交的代码仓库与开发流程,尤其适合强调原子提交和清晰提交历史的项目。该技能主要约束提交信息的撰写与提交拆分方式,不涉及代码审查、分支管理或发布流程。关于其安装方式、平台支持、收费情况等,资料暂未提供。