SuperAPI AI 工具集

ado-commit

编程与开发

查看项目

更新于 10-15 12:23

技能介绍

用途

ado-commit 用于在 Azure DevOps(ADO / Azure Repos)托管的仓库中创建格式规范的 Conventional Commits 提交。当用户要求提交变更时,该技能会按照既定工作流生成提交信息并执行提交。

主要能力

  • 检查当前状态:包括 git status、当前分支、已暂存差异统计、未暂存差异统计以及最近 5 条提交记录。
  • 自动暂存:若没有已暂存内容,使用 git add -A 暂存所有修改和新文件;若已有特定文件暂存,则仅提交这些文件。
  • 阅读实际 diff:通过 git diff --cached 理解真实改动,确保提交信息描述“改了什么、为什么改”,而非仅罗列文件。
  • 拆分建议:若暂存差异包含多个不相关的逻辑变更,建议拆分为多个提交(一次提交对应一个变更理由)。
  • 生成 Conventional Commits 格式信息:支持常见类型(feat、fix、docs、style、refactor、perf、test、build、ci、chore、revert),支持可选 scope,支持在类型/范围后加 ! 表示破坏性变更,主题不超过 72 字符、使用祈使语气、结尾不加句号。
  • 工作项关联(ADO 特有):当提交信息包含 AB#<id> 时,Azure DevOps 会自动将提交链接到工作项。技能会尝试从分支名、用户输入、分支历史提交或 ADO MCP 中识别工作项 ID,并以 trailer 形式添加,而非写入主题。若无法找到,则跳过而不编造。
  • AI 署名 trailer:建议使用 Assistant-model trailer(如 Assistant-model: Claude Code)而非 Co-authored-by,以区分辅助与作者身份,并在审计场景中诚实标注 AI 辅助提交。
  • 不跳过 pre-commit 钩子:若存在 .pre-commit-config.yaml,钩子会自动运行,其失败是有效信号,禁止使用 --no-verify。

使用方式

该技能以命令形式调用,参数为 $ARGUMENTS。典型工作流如下:

  1. 查看当前状态(git status、分支、差异统计、最近提交)。
  2. 如有需要,执行 git add -A 暂存变更。
  3. 运行 git diff --cached 阅读实际改动。
  4. 若存在多个不相关变更,建议拆分提交。
  5. 按 Conventional Commits 格式撰写提交信息。
  6. 使用 git commit --message "<subject>" --trailer ... 提交,trailer 通过 --trailer 传递,不要用 heredoc 写入正文。
  7. 使用 git log -1 向用户展示结果。

示例命令:

git add -A git diff --cached --stat git commit
--message "fix(parser): handle nested escape sequences"
--trailer "AB#5678"
--trailer "Assistant-model: Claude Code" git log -1

适用场景

  • 在 Azure DevOps 仓库中提交代码,并希望提交历史符合 Conventional Commits 规范。
  • 需要将提交与 Azure DevOps 工作项自动关联,保持看板同步。
  • 需要诚实标注 AI 辅助提交,以满足审计要求。
  • 希望避免跳过 pre-commit 钩子,确保代码质量检查生效。

限制

  • 该技能主要针对 Azure DevOps 托管仓库,其 ADO 特有部分为工作项 trailer 和与 Azure DevOps PR 审阅者沟通的约定。
  • 工作项 ID 的识别依赖分支名、用户输入、历史提交或 ADO MCP;若无法确定,则跳过 trailer,不进行猜测。
  • 关于收费、价格、平台支持范围、具体效果等事实,资料中暂未提供。