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

151 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: "task-completion"
description: "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. 检查变更内容
首先检查哪些文件被修改:
```bash
git status
```
### 2. 分析变更主题
**关键原则:原子提交**
- 如果所有变更属于**同一个主题** → 一个 commit
- 如果变更涉及**多个主题** → 拆分成多个 commit
**主题判断示例:**
| 场景 | 提交方式 |
| ------------------- | -------------------- |
| 只修改了一个组件 | 一个 commit |
| 修改组件 + 更新文档 | 两个 commit |
| 修复多个独立 bug | 每个 bug 一个 commit |
| 重构多个组件 | 每个组件一个 commit |
### 3. 选择正确的 emoji
根据变更类型选择对应的 emoji
- ✨ 新功能
- 🐛 Bug 修复
- ♻️ 重构
- ⚡️ 性能优化
- 💄 UI/样式调整
- 📝 文档更新
- 🎨 代码格式化
- 🔧 配置文件修改
### 4. 执行提交
**单个主题的提交:**
```bash
git add <文件路径>
git commit -m "<emoji> <描述>"
```
**多个主题的提交(拆分):**
```bash
# 提交 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 规范**
任务完成后,应该这样提交:
```bash
# 检查变更
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 类型注解规范"
```
## 参考文档
- [Git Commit 规范](./git-commit.md) - Git Commit 格式规范
- [Git Commit Rules](../rules/git-commit-rules.md) - Git Commit 规则