Files
TeyvatGuide/.trae/skills/git-workflow/task-completion.md
BTMuli a2985d9719 🚀 0.9.9
2026-04-08 12:05:18 +08:00

3.3 KiB
Raw Blame History

name, description
name description
task-completion Guides AI to commit changes after completing tasks. Invoke when a coding task is finished and ready for commit.

Task Completion Commit

本 skill 指导 AI 在完成任务后如何正确提交代码变更。

何时使用

当以下条件满足时,应该提交 commit

  • 用户请求的编码任务已完成
  • 代码已通过 lint 和类型检查
  • 没有未解决的错误
  • 用户没有明确要求不提交

提交流程

1. 检查变更内容

首先检查哪些文件被修改:

git status

2. 分析变更主题

关键原则:原子提交

  • 如果所有变更属于同一个主题 → 一个 commit
  • 如果变更涉及多个主题 → 拆分成多个 commit

主题判断示例:

场景 提交方式
只修改了一个组件 一个 commit
修改组件 + 更新文档 两个 commit
修复多个独立 bug 每个 bug 一个 commit
重构多个组件 每个组件一个 commit

3. 选择正确的 emoji

根据变更类型选择对应的 emoji

  • 新功能
  • 🐛 Bug 修复
  • ♻️ 重构
  • 性能优化
  • 💄 UI/样式调整
  • 📝 文档更新
  • 🎨 代码格式化
  • 🔧 配置文件修改

4. 执行提交

单个主题的提交:

git add <文件路径>
git commit -m "<emoji> <描述>"

多个主题的提交(拆分):

# 提交 1
git add 文件 1
git commit -m "♻️ 重构组件 A"

# 提交 2
git add 文件 2
git commit -m "📝 更新文档"

5. 编写提交信息

格式要求:

  • emoji 图标 + 空格 + 中文描述
  • 以动词开头
  • 一行不超过 100 字符
  • 不要使用 feat: 这种括号声明

好的示例:

✨ 添加用户个人页面跳转功能
🐛 修复角色生日判断逻辑
♻️ 重构图片浮窗组件拖拽缩放逻辑
📝 更新 TypeScript 类型注解规范

错误的示例:

✨ feat: 添加功能  # ❌ 使用了 type 声明
修复了一些 bug  # ❌ 没有 emoji
Added new feature  # ❌ 没有使用中文

特殊情况处理

情况 1用户明确要求不提交

如果用户说"先别提交"或"我自己来提交",则跳过提交步骤。

情况 2变更太多不确定如何拆分

如果变更涉及多个方面但不确定如何拆分,应该询问用户:

"这次修改涉及多个方面,您希望我:

  • 拆分成多个 commit 提交?
  • 还是合并成一个 commit 提交?"

情况 3提交失败

如果提交失败(例如有 lint 错误),应该:

  1. 查看错误信息
  2. 修复错误
  3. 重新尝试提交

完整示例

场景:用户要求重构图片浮窗组件并更新 TypeScript 规范

任务完成后,应该这样提交:

# 检查变更
git status

# 提交 1组件重构
git add src/components/viewpost/vp-overlay-image.vue
git commit -m "♻️ 重构图片浮窗组件拖拽缩放逻辑"

# 提交 2规范更新
git add .trae/skills/typescript-standards/skill.md
git commit -m "📝 更新 TypeScript 类型注解规范"

参考文档