mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2026-05-15 04:27:39 +08:00
🎨 重构 Git Workflow Skill 为单一 SKILL.md 文件
This commit is contained in:
@@ -1,193 +0,0 @@
|
||||
---
|
||||
name: "git-commit-skill"
|
||||
description: "Git commit 规范参考。Invoke when user wants to make commits, including selective file staging, proper gitmoji usage, and commit message format."
|
||||
---
|
||||
|
||||
# Gitmoji Commit 规范
|
||||
|
||||
本文档定义了项目提交信息的格式规范,确保提交历史清晰可读。
|
||||
|
||||
## 核心原则
|
||||
|
||||
### 🎯 原子提交原则
|
||||
|
||||
**每个 commit 只包含一个主题的变更**。如果一次修改涉及多个方面,应该拆分成多个 commit:
|
||||
|
||||
```bash
|
||||
# ✅ 正确:拆分成两个独立的 commit
|
||||
git add src/components/viewpost/vp-overlay-image.vue
|
||||
git commit -m "♻️ 重构图片浮窗组件拖拽缩放逻辑"
|
||||
|
||||
git add .trae/skills/typescript-standards/skill.md
|
||||
git commit -m "📝 更新 TypeScript 类型注解规范"
|
||||
|
||||
# ❌ 错误:不要混在一个 commit 中
|
||||
git add src/components/viewpost/vp-overlay-image.vue .trae/skills/typescript-standards/skill.md
|
||||
git commit -m "♻️ 重构组件并更新 TypeScript 规范"
|
||||
```
|
||||
|
||||
## 提交格式
|
||||
|
||||
```
|
||||
<emoji> <描述>
|
||||
```
|
||||
|
||||
- **emoji**:使用 Unicode emoji 图标,放在提交信息开头
|
||||
- **描述**:使用中文,以动词开头,简短明了
|
||||
- **一行不超过 100 字符**
|
||||
- **禁止括号声明**:不要使用 `✨ feat(xxx)` 或 `✨ feat` 这种格式,仅保留图标
|
||||
|
||||
## 拆分指南
|
||||
|
||||
| 场景 | 拆分方式 | 示例 |
|
||||
|------|---------|------|
|
||||
| 代码重构 + 文档更新 | 分成两个 commit | `♻️ 重构组件` + `📝 更新文档` |
|
||||
| 功能开发 + Bug 修复 | 分成两个 commit | `✨ 添加功能` + `🐛 修复问题` |
|
||||
| 多个组件修改 | 按组件拆分 commit | `♻️ 重构组件 A` + `♻️ 重构组件 B` |
|
||||
| 代码修改 + 配置文件 | 分成两个 commit | `✨ 实现功能` + `🔧 更新配置` |
|
||||
| 功能开发 + 样式调整 | 分成两个 commit | `✨ 添加功能` + `💄 调整样式` |
|
||||
|
||||
## Emoji 选择指南
|
||||
|
||||
根据变更类型选择对应的 emoji:
|
||||
|
||||
### 🆕 新增内容
|
||||
| Emoji | 场景 | 示例 |
|
||||
|-------|------|------|
|
||||
| ✨ | 新功能 | `✨ 添加用户个人页面跳转功能` |
|
||||
| 🎨 | 代码结构/格式 | `🎨 重构角色卡片组件` |
|
||||
| 📝 | 文档 | `📝 更新 README` |
|
||||
| 🎉 | 初始项目 | `🎉 初始化项目` |
|
||||
| ✅ | 测试 | `✅ 添加角色查询单元测试` |
|
||||
|
||||
### 🔧 修改内容
|
||||
| Emoji | 场景 | 示例 |
|
||||
|-------|------|------|
|
||||
| 🐛 | Bug 修复 | `🐛 修复角色生日判断逻辑` |
|
||||
| 🩹 | 小修复/补丁 | `🩹 补充首页 mini 参数处理` |
|
||||
| ⚡️ | 性能优化 | `⚡️ 优化角色列表渲染性能` |
|
||||
| ♻️ | 重构 | `♻️ 重构数据库操作层` |
|
||||
| 💄 | UI/样式 | `💄 调整首页卡片布局` |
|
||||
| ✏️ | 拼写错误 | `✏️ 修复注释拼写` |
|
||||
| 💡 | 注释/解释 | `💡 添加关键逻辑注释` |
|
||||
|
||||
### 🗑️ 删除/清理
|
||||
| Emoji | 场景 | 示例 |
|
||||
|-------|------|------|
|
||||
| 🔥 | 删除代码/文件 | `🔥 移除废弃组件` |
|
||||
| ⚰️ | 删除死代码 | `⚰️ 清理未使用的导入` |
|
||||
| 🗑️ | 代码弃用 | `🗑️ 弃用旧版 API` |
|
||||
|
||||
### 📦 依赖/配置
|
||||
| Emoji | 场景 | 示例 |
|
||||
|-------|------|------|
|
||||
| ➕ | 添加依赖 | `➕ 添加图表库依赖` |
|
||||
| ➖ | 删除依赖 | `➖ 移除冗余依赖` |
|
||||
| ⬆️ | 升级依赖 | `⬆️ 升级 Vue 版本` |
|
||||
| ⬇️ | 降级依赖 | `⬇️ 降级兼容版本` |
|
||||
| 📌 | 锁定版本 | `📌 锁定构建工具版本` |
|
||||
| 🔧 | 配置文件 | `🔧 更新 vite 配置` |
|
||||
| 🔨 | 开发脚本 | `🔨 添加自动化脚本` |
|
||||
|
||||
### 🚀 部署/构建
|
||||
| Emoji | 场景 | 示例 |
|
||||
|-------|------|------|
|
||||
| 🚀 | 部署 | `🚀 部署生产环境` |
|
||||
| 📦 | 编译/打包 | `📦 更新构建产物` |
|
||||
| 👷 | CI/CD | `👷 优化 GitHub Actions` |
|
||||
|
||||
### 🗄️ 数据/存储
|
||||
| Emoji | 场景 | 示例 |
|
||||
|-------|------|------|
|
||||
| 🗃️ | 数据库 | `🗃️ 添加角色收藏表` |
|
||||
| 🌱 | 种子数据 | `🌱 初始化角色数据` |
|
||||
|
||||
### 🌐 国际化/本地化
|
||||
| Emoji | 场景 | 示例 |
|
||||
|-------|------|------|
|
||||
| 🌐 | 国际化 | `🌐 添加多语言支持` |
|
||||
|
||||
### 🔒 安全/权限
|
||||
| Emoji | 场景 | 示例 |
|
||||
|-------|------|------|
|
||||
| 🔒 | 安全问题 | `🔒 修复 XSS 漏洞` |
|
||||
| 🔐 | 密钥/凭证 | `🔐 更新 API 密钥配置` |
|
||||
|
||||
### 📊 分析/监控
|
||||
| Emoji | 场景 | 示例 |
|
||||
|-------|------|------|
|
||||
| 📈 | 分析/跟踪 | `📈 添加埋点统计` |
|
||||
| 🔊 | 添加日志 | `🔊 添加操作日志` |
|
||||
| 🔇 | 删除日志 | `🔇 清理调试日志` |
|
||||
|
||||
### 🏗️ 架构/基础设施
|
||||
| Emoji | 场景 | 示例 |
|
||||
|-------|------|------|
|
||||
| 🏗️ | 架构变更 | `🏗️ 引入状态管理` |
|
||||
| 🧱 | 基础设施 | `🧱 优化 Docker 配置` |
|
||||
|
||||
### 🧑💻 开发体验
|
||||
| Emoji | 场景 | 示例 |
|
||||
|-------|------|------|
|
||||
| 🧑💻 | 开发体验 | `🧑💻 优化热更新速度` |
|
||||
| 🚸 | 用户体验 | `🚸 统一导出交互流程` |
|
||||
| 💫 | 动画/过渡 | `💫 添加页面转场动画` |
|
||||
|
||||
### 🔀 分支/版本
|
||||
| Emoji | 场景 | 示例 |
|
||||
|-------|------|------|
|
||||
| 🔀 | 合并分支 | `🔀 合并功能分支` |
|
||||
| ⏪ | 回滚 | `⏪ 回滚错误提交` |
|
||||
| 🔖 | 版本标签 | `🔖 发布 v1.0.0` |
|
||||
|
||||
### 其他
|
||||
| Emoji | 场景 | 示例 |
|
||||
|-------|------|------|
|
||||
| 🚧 | 进行中 | `🚧 实现角色对比功能` |
|
||||
| 💚 | CI 修复 | `💚 修复构建失败` |
|
||||
| 🚨 | 警告修复 | `🚨 消除编译器警告` |
|
||||
| 👔 | 业务逻辑 | `👔 添加抽卡概率计算` |
|
||||
| 🩺 | 健康检查 | `🩺 添加服务监控` |
|
||||
| 🧐 | 数据检查 | `🧐 审查数据一致性` |
|
||||
| 🛂 | 权限/授权 | `🛂 添加角色权限校验` |
|
||||
| 🦺 | 验证 | `🦺 添加参数校验` |
|
||||
| 🧵 | 多线程/并发 | `🧵 优化异步任务处理` |
|
||||
| ✈️ | 离线支持 | `✈️ 提升离线体验` |
|
||||
| 🦖 | 向后兼容 | `🦖 添加兼容性处理` |
|
||||
| 💸 | 金钱相关 | `💸 优化资源加载成本` |
|
||||
| 👽 | API 变更 | `👽 适配新版 API` |
|
||||
| 🚚 | 移动/重命名 | `🚚 迁移文件到新目录` |
|
||||
| 📄 | 许可证 | `📄 添加 MIT 许可证` |
|
||||
| 💥 | 重大变更 | `💥 重构核心模块` |
|
||||
| 🍱 | 静态资源 | `🍱 更新应用图标` |
|
||||
| ♿️ | 无障碍 | `♿️ 添加 ARIA 标签` |
|
||||
| 🏷️ | 类型定义 | `🏷️ 完善类型定义` |
|
||||
| 🚩 | 功能开关 | `🚩 添加灰度开关` |
|
||||
| ⚗️ | 实验 | `⚗️ 尝试新方案` |
|
||||
| 🔍 | SEO | `🔍 优化页面索引` |
|
||||
| 🙈 | .gitignore | `🙈 更新 gitignore 规则` |
|
||||
| 📸 | 快照 | `📸 添加截图` |
|
||||
| 🥚 | 彩蛋 | `🥚 添加开发者彩蛋` |
|
||||
| 🤡 | Mock | `🤡 添加 mock 数据` |
|
||||
| 🍻 | 酒后代码 | `🍻 修复奇怪 bug` |
|
||||
| 💬 | 文本更新 | `💬 更新界面文案` |
|
||||
| 👥 | 贡献者 | `👥 更新贡献者列表` |
|
||||
|
||||
## 提交示例
|
||||
|
||||
```
|
||||
✨ 添加用户个人页面跳转功能
|
||||
🐛 修复角色生日判断逻辑
|
||||
🩹 补充首页 mini 参数&组件参数处理
|
||||
♻️ 重构数据库操作为事务模式
|
||||
⚡️ 优化角色列表渲染性能
|
||||
💄 调整深色模式配色方案
|
||||
📝 添加组件使用文档
|
||||
⬆️ 更新依赖版本,修复安全警告
|
||||
🔧 更新 vite 配置以支持新插件
|
||||
🚸 统一 UIGF 导出交互,导出前选择导出路径
|
||||
💫 添加页面转场动画效果
|
||||
🐛 修复抽卡记录导出为空的问题
|
||||
🏗️ 引入 Pinia 状态管理
|
||||
🧑💻 优化热更新加载速度
|
||||
```
|
||||
277
.trae/skills/git-workflow/SKILL.md
Normal file
277
.trae/skills/git-workflow/SKILL.md
Normal file
@@ -0,0 +1,277 @@
|
||||
---
|
||||
name: "git-workflow"
|
||||
description: "Git workflow 综合指南。Invoke when user wants to make commits, needs commit format guidance, or after completing coding tasks."
|
||||
---
|
||||
|
||||
# Git Workflow 综合指南
|
||||
|
||||
本技能包含完整的 Git 提交工作流指南,涵盖提交规范和任务完成后的提交流程。
|
||||
|
||||
## 📚 目录
|
||||
|
||||
1. [Git Commit 规范](#git-commit-规范) - 提交信息格式规范
|
||||
2. [Task Completion Commit](#task-completion-commit) - 任务完成后的提交指南
|
||||
3. [快速参考](#快速参考) - 提交流程和 Emoji 速查
|
||||
|
||||
---
|
||||
|
||||
## Git Commit 规范
|
||||
|
||||
### 🎯 原子提交原则
|
||||
|
||||
**每个 commit 只包含一个主题的变更**。如果一次修改涉及多个方面,应该拆分成多个 commit:
|
||||
|
||||
```bash
|
||||
# ✅ 正确:拆分成两个独立的 commit
|
||||
git add src/components/viewpost/vp-overlay-image.vue
|
||||
git commit -m "♻️ 重构图片浮窗组件拖拽缩放逻辑"
|
||||
|
||||
git add .trae/skills/typescript-standards/skill.md
|
||||
git commit -m "📝 更新 TypeScript 类型注解规范"
|
||||
|
||||
# ❌ 错误:不要混在一个 commit 中
|
||||
git add 文件 1 文件 2
|
||||
git commit -m "♻️ 重构组件并更新 TypeScript 规范"
|
||||
```
|
||||
|
||||
### 提交格式
|
||||
|
||||
```
|
||||
<emoji> <描述>
|
||||
```
|
||||
|
||||
- **emoji**:使用 Unicode emoji 图标,放在提交信息开头
|
||||
- **描述**:使用中文,以动词开头,简短明了
|
||||
- **一行不超过 100 字符**
|
||||
- **禁止括号声明**:不要使用 `✨ feat(xxx)` 这种格式
|
||||
|
||||
### 拆分指南
|
||||
|
||||
| 场景 | 拆分方式 | 示例 |
|
||||
|------|---------|------|
|
||||
| 代码重构 + 文档更新 | 分成两个 commit | `♻️ 重构组件` + `📝 更新文档` |
|
||||
| 功能开发 + Bug 修复 | 分成两个 commit | `✨ 添加功能` + `🐛 修复问题` |
|
||||
| 多个组件修改 | 按组件拆分 commit | `♻️ 重构组件 A` + `♻️ 重构组件 B` |
|
||||
| 代码修改 + 配置文件 | 分成两个 commit | `✨ 实现功能` + `🔧 更新配置` |
|
||||
|
||||
### Emoji 选择指南
|
||||
|
||||
#### 🆕 新增内容
|
||||
| Emoji | 场景 | 示例 |
|
||||
|-------|------|------|
|
||||
| ✨ | 新功能 | `✨ 添加用户个人页面跳转功能` |
|
||||
| 🎨 | 代码结构/格式 | `🎨 重构角色卡片组件` |
|
||||
| 📝 | 文档 | `📝 更新 README` |
|
||||
| 🎉 | 初始项目 | `🎉 初始化项目` |
|
||||
| ✅ | 测试 | `✅ 添加角色查询单元测试` |
|
||||
|
||||
#### 🔧 修改内容
|
||||
| Emoji | 场景 | 示例 |
|
||||
|-------|------|------|
|
||||
| 🐛 | Bug 修复 | `🐛 修复角色生日判断逻辑` |
|
||||
| 🩹 | 小修复/补丁 | `🩹 补充首页 mini 参数处理` |
|
||||
| ⚡️ | 性能优化 | `⚡️ 优化角色列表渲染性能` |
|
||||
| ♻️ | 重构 | `♻️ 重构数据库操作层` |
|
||||
| 💄 | UI/样式 | `💄 调整首页卡片布局` |
|
||||
|
||||
#### 🗑️ 删除/清理
|
||||
| Emoji | 场景 | 示例 |
|
||||
|-------|------|------|
|
||||
| 🔥 | 删除代码/文件 | `🔥 移除废弃组件` |
|
||||
| ⚰️ | 删除死代码 | `⚰️ 清理未使用的导入` |
|
||||
|
||||
#### 📦 依赖/配置
|
||||
| Emoji | 场景 | 示例 |
|
||||
|-------|------|------|
|
||||
| ➕ | 添加依赖 | `➕ 添加图表库依赖` |
|
||||
| ➖ | 删除依赖 | `➖ 移除冗余依赖` |
|
||||
| ⬆️ | 升级依赖 | `⬆️ 升级 Vue 版本` |
|
||||
| 🔧 | 配置文件 | `🔧 更新 vite 配置` |
|
||||
|
||||
#### 🚀 部署/构建
|
||||
| Emoji | 场景 | 示例 |
|
||||
|-------|------|------|
|
||||
| 🚀 | 部署 | `🚀 部署生产环境` |
|
||||
| 📦 | 编译/打包 | `📦 更新构建产物` |
|
||||
|
||||
#### 更多 Emoji
|
||||
|
||||
| Emoji | 场景 | Emoji | 场景 |
|
||||
|-------|------|-------|------|
|
||||
| 🗃️ | 数据库 | 🔒 | 安全问题 |
|
||||
| 📈 | 分析/跟踪 | 🏗️ | 架构变更 |
|
||||
| 🧑💻 | 开发体验 | 🚸 | 用户体验 |
|
||||
| 💫 | 动画/过渡 | 🔀 | 合并分支 |
|
||||
| ⏪ | 回滚 | 🔖 | 版本标签 |
|
||||
| 🚧 | 进行中 | 💚 | CI 修复 |
|
||||
| 🚨 | 警告修复 | 👔 | 业务逻辑 |
|
||||
| 🦺 | 验证 | 🌐 | 国际化 |
|
||||
| 💥 | 重大变更 | 🍱 | 静态资源 |
|
||||
| 🏷️ | 类型定义 | 🚚 | 移动/重命名 |
|
||||
|
||||
---
|
||||
|
||||
## Task Completion Commit
|
||||
|
||||
### 何时使用
|
||||
|
||||
**当以下条件满足时,应该提交 commit:**
|
||||
- ✅ 用户请求的编码任务已完成
|
||||
- ✅ 代码已通过 lint 和类型检查
|
||||
- ✅ 没有未解决的错误
|
||||
- ✅ 用户没有明确要求不提交
|
||||
|
||||
### 提交流程
|
||||
|
||||
#### 1. 检查变更内容
|
||||
|
||||
```bash
|
||||
git status
|
||||
```
|
||||
|
||||
#### 2. 分析变更主题
|
||||
|
||||
**关键原则:原子提交**
|
||||
|
||||
- 如果所有变更属于**同一个主题** → 一个 commit
|
||||
- 如果变更涉及**多个主题** → 拆分成多个 commit
|
||||
|
||||
#### 3. 选择正确的 emoji
|
||||
|
||||
根据变更类型选择对应的 emoji(见上方 [Emoji 选择指南](#emoji-选择指南))
|
||||
|
||||
#### 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 类型注解规范"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 快速参考
|
||||
|
||||
### 提交流程
|
||||
|
||||
```bash
|
||||
# 1. 检查变更
|
||||
git status
|
||||
|
||||
# 2. 添加文件(原子提交)
|
||||
git add <文件路径>
|
||||
|
||||
# 3. 提交(格式:<emoji> <描述>)
|
||||
git commit -m "<emoji> <中文描述>"
|
||||
```
|
||||
|
||||
### Emoji 速查表
|
||||
|
||||
| Emoji | 场景 | Emoji | 场景 |
|
||||
|-------|------|-------|------|
|
||||
| ✨ | 新功能 | 🐛 | Bug 修复 |
|
||||
| ♻️ | 重构 | ⚡️ | 性能优化 |
|
||||
| 💄 | UI/样式 | 📝 | 文档 |
|
||||
| 🎨 | 代码格式 | 🔧 | 配置 |
|
||||
| 🔥 | 删除 | 🚀 | 部署 |
|
||||
| ⬆️ | 升级依赖 | 🗃️ | 数据库 |
|
||||
|
||||
### 提交示例
|
||||
|
||||
```
|
||||
✨ 添加用户个人页面跳转功能
|
||||
🐛 修复角色生日判断逻辑
|
||||
🩹 补充首页 mini 参数&组件参数处理
|
||||
♻️ 重构数据库操作为事务模式
|
||||
⚡️ 优化角色列表渲染性能
|
||||
💄 调整深色模式配色方案
|
||||
📝 添加组件使用文档
|
||||
⬆️ 更新依赖版本,修复安全警告
|
||||
🔧 更新 vite 配置以支持新插件
|
||||
🚸 统一 UIGF 导出交互,导出前选择导出路径
|
||||
💫 添加页面转场动画效果
|
||||
🐛 修复抽卡记录导出为空的问题
|
||||
🏗️ 引入 Pinia 状态管理
|
||||
🧑💻 优化热更新加载速度
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [Git Commit Rules](../rules/git-commit-rules.md) - Git Commit 规则
|
||||
- [TypeScript Standards](../typescript-standards/SKILL.md) - TypeScript 开发规范
|
||||
@@ -140,5 +140,5 @@ git commit -m "📝 更新 TypeScript 类型注解规范"
|
||||
|
||||
## 参考文档
|
||||
|
||||
- [Git Commit Rules](../rules/git-commit-rules.md)
|
||||
- [Git Commit Skill](./git-commit-skill/SKILL.md)
|
||||
- [Git Commit 规范](./git-commit.md) - Git Commit 格式规范
|
||||
- [Git Commit Rules](../rules/git-commit-rules.md) - Git Commit 规则
|
||||
Reference in New Issue
Block a user