SuperAPI AI 工具集

commit

编程与开发

查看项目

更新于 10-16 10:12

技能介绍

用途

commit 用于根据当前变更生成高质量的约定式提交消息,并按用户要求完成本地提交。

核心目标是用一条准确、简洁、可追溯的消息说清本次变更。

触发场景

当用户说「提交」「commit」「git commit」「帮我提交」「写个提交消息」,或要求审查提交消息时使用。

主要能力

消息格式

使用以下格式生成提交消息:

<type>[(scope)]: <summary>

[body]

[footer]

类型选择

选择最贴近变更目的的类型:

  • feat:新功能
  • fix:缺陷修复
  • refactor:重构
  • perf:性能优化
  • docs:文档
  • test:测试
  • build:构建或依赖
  • ci:持续集成
  • style:不影响逻辑的格式调整
  • chore:其他维护
  • revert:回退提交

scope

scope 仅在能稳定指向模块、组件或业务领域时使用;无法准确归类时省略。

summary

summary 使用祈使语气,直接描述变更带来的结果;不加句号,标题不超过 72 个字符。沿用用户和代码中已确定的术语,不臆造命名。

body 与 footer

只有标题无法说清变更内容或原因时才添加 body;说明「改了什么、为什么改」,不复述代码实现细节。

破坏性变更在类型后加 !,并在 footer 中写明 BREAKING CHANGE: <影响>。关联信息按需使用 Refs: #123。

一条消息只表达一个逻辑变更。变更包含多个独立目的时,应拆分提交。

使用方式

流程

优先根据当前会话理解变更目的和范围。信息不足时,只读取判断消息所需的 git status 和相关 diff,不得为重新理解已知改动而扩大调查。

提交消息涉及业务术语时,优先使用当前会话已知的统一术语。

执行边界

  • 用户只要求「写提交消息」或「审查消息」时,只输出结果,不执行 Git 写入。
  • 用户要求「提交」时,只暂存当前会话相关的改动。如果已暂存内容的归属不清,在写入前使用提问工具确认。
  • 不得自动 push。

示例

fix(订单): 处理空订单号时不再崩溃
feat(api)!: 使用信封格式包装审批响应

统一响应元数据的承载方式。

BREAKING CHANGE: 客户端必须从 data 字段读取原响应内容

适用场景

适用于需要生成规范化 Git 提交消息、按约定式提交规范整理变更记录、以及按用户要求完成本地提交的日常开发场景。

限制

只暂存当前会话相关的改动,不自动 push。其余细节暂未提供。