forked from moyin/whale-town-front
- 创建whaletown-developer skill自动化7步开发流程 - 添加完整的使用说明文档和质量检查清单 - 更新CLAUDE.md集成标准开发工作流说明 - 新增标准开发工作流详细文档 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
313 lines
8.1 KiB
Markdown
313 lines
8.1 KiB
Markdown
# WhaleTown Developer Skill 使用说明
|
||
|
||
## 📖 简介
|
||
|
||
`whaletown-developer` 是 WhaleTown 项目的标准开发工作流自动化技能,确保所有开发任务都遵循统一的项目规范和质量标准。
|
||
|
||
## 🎯 适用场景
|
||
|
||
在以下情况下使用此 skill:
|
||
|
||
- ✅ 实现新功能("实现玩家二段跳"、"添加存档系统")
|
||
- ✅ 修复 Bug("修复角色碰撞问题"、"解决UI显示错误")
|
||
- ✅ 创建场景("创建商店场景"、"设计背包界面")
|
||
- ✅ 开发模块("开发任务系统"、"构建战斗组件")
|
||
- ✅ 任何需要遵循项目规范的代码开发任务
|
||
|
||
## 🚀 调用方式
|
||
|
||
### 方式一:通过 Claude(推荐)
|
||
|
||
```
|
||
用户:帮我实现一个 NPC
|
||
Claude:/whaletown-developer 实现一个 NPC
|
||
```
|
||
|
||
### 方式二:直接请求
|
||
|
||
```
|
||
用户:使用 whaletown-developer skill 创建玩家移动系统
|
||
```
|
||
|
||
## 📋 7 步工作流程
|
||
|
||
skill 会自动执行以下标准化流程:
|
||
|
||
```
|
||
Step 1: 架构分析
|
||
↓ 读取架构规范,确定文件位置、通信方式、依赖关系
|
||
|
||
Step 2: 功能实现
|
||
↓ 按照类型安全、命名规范、EventSystem 通信等要求编码
|
||
|
||
Step 3: 注释规范检查
|
||
↓ 验证文件头、函数文档、行内注释是否完整
|
||
|
||
Step 4: 命名规范检查
|
||
↓ 验证 PascalCase/camelCase/UPPER_CASE 命名规范
|
||
|
||
Step 5: 测试代码编写
|
||
↓ 为核心功能创建 GUT 单元测试
|
||
|
||
Step 6: 测试验证
|
||
↓ 运行测试确保功能正常
|
||
|
||
Step 7: Git 提交
|
||
↓ 生成符合规范的提交信息
|
||
```
|
||
|
||
## 💡 使用示例
|
||
|
||
### 示例 1:创建玩家控制器
|
||
|
||
**用户输入:**
|
||
```
|
||
帮我创建一个玩家角色控制器
|
||
```
|
||
|
||
**Skill 执行:**
|
||
1. 分析架构 → 确定放在 `scenes/Entities/Player/PlayerController.gd`
|
||
2. 实现功能 → 创建带类型注解的移动、跳跃逻辑
|
||
3. 检查注释 → 添加完整的文件头和函数文档
|
||
4. 检查命名 → 确保 `moveSpeed`、`MAX_HEALTH` 等命名正确
|
||
5. 编写测试 → 创建 `tests/unit/test_player_controller.gd`
|
||
6. 运行测试 → 验证功能正常
|
||
7. 生成提交 → `feat:实现玩家角色控制器`
|
||
|
||
### 示例 2:修复跳跃 Bug
|
||
|
||
**用户输入:**
|
||
```
|
||
修复玩家跳跃时的碰撞检测问题
|
||
```
|
||
|
||
**Skill 执行:**
|
||
1. 分析架构 → 定位到 `scenes/Entities/Player/Player.gd`
|
||
2. 实现修复 → 修改碰撞检测逻辑
|
||
3. 检查注释 → 添加修复说明注释
|
||
4. 检查命名 → 确保变量命名规范
|
||
5. 编写测试 → 添加碰撞测试用例
|
||
6. 运行测试 → 确认 Bug 已修复
|
||
7. 生成提交 → `fix:修复玩家跳跃时的碰撞检测问题`
|
||
|
||
### 示例 3:添加事件通信
|
||
|
||
**用户输入:**
|
||
```
|
||
实现 NPC 对话系统的事件通信
|
||
```
|
||
|
||
**Skill 执行:**
|
||
1. 分析架构 → 使用 EventSystem 跨模块通信
|
||
2. 实现功能 → 在 EventNames.gd 添加 `NPC_DIALOG_STARTED` 事件
|
||
3. 检查注释 → 文档化事件数据格式
|
||
4. 检查命名 → 确保事件名称符合规范
|
||
5. 编写测试 → 测试事件发送和接收
|
||
6. 运行测试 → 验证通信正常
|
||
7. 生成提交 → `feat:实现NPC对话系统的事件通信`
|
||
|
||
## ✅ 质量保证
|
||
|
||
每次使用 skill 后,代码都会符合以下标准:
|
||
|
||
### 架构层面
|
||
- ✅ 文件位置符合分层架构(_Core、scenes、UI)
|
||
- ✅ 使用 EventSystem 实现跨模块通信
|
||
- ✅ 事件名称已添加到 EventNames.gd
|
||
- ✅ 遵循"Signal Up, Call Down"原则
|
||
|
||
### 代码质量
|
||
- ✅ 所有变量和函数都有类型注解
|
||
- ✅ 命名规范正确(PascalCase/camelCase/UPPER_CASE)
|
||
- ✅ 使用 Godot 4.2+ 语法(await 而非 yield)
|
||
- ✅ 节点引用使用 @onready 缓存
|
||
|
||
### 文档规范
|
||
- ✅ 文件头注释完整(文件名、作用、功能、依赖)
|
||
- ✅ 公共函数有完整文档(参数、返回值、示例)
|
||
- ✅ 复杂逻辑有行内注释说明
|
||
|
||
### 测试覆盖
|
||
- ✅ 核心功能有单元测试
|
||
- ✅ 测试文件命名规范(test_*.gd)
|
||
- ✅ 测试通过验证
|
||
|
||
### Git 规范
|
||
- ✅ 提交信息格式正确(类型:描述)
|
||
- ✅ 遵循"一次提交只做一件事"原则
|
||
- ✅ 使用中文冒号和动词开头
|
||
|
||
## 📚 相关文档
|
||
|
||
Skill 会自动读取以下规范文档:
|
||
|
||
- `docs/02-开发规范/架构与通信规范.md` - 分层架构和 EventSystem
|
||
- `docs/02-开发规范/代码注释规范.md` - 注释格式要求
|
||
- `docs/02-开发规范/命名规范.md` - 命名约定
|
||
- `docs/03-技术实现/测试指南.md` - 测试框架使用
|
||
- `docs/02-开发规范/Git提交规范.md` - 提交信息格式
|
||
- `CLAUDE.md` - 项目总体指导
|
||
|
||
## ⚙️ 配置文件
|
||
|
||
Skill 相关配置文件位置:
|
||
|
||
```
|
||
.claude/skills/whaletown-developer/
|
||
├── SKILL.md # Skill 定义文件
|
||
├── 使用说明.md # 本文档
|
||
└── references/
|
||
└── checklist.md # 质量检查清单
|
||
```
|
||
|
||
## 🔄 工作流程可视化
|
||
|
||
```
|
||
用户请求
|
||
↓
|
||
调用 whaletown-developer skill
|
||
↓
|
||
[Step 1] 架构分析
|
||
├─ 读取架构规范文档
|
||
├─ 确定文件位置
|
||
├─ 识别通信方式
|
||
└─ 设计事件定义
|
||
↓
|
||
[Step 2] 功能实现
|
||
├─ 遵循类型安全
|
||
├─ 使用 EventSystem
|
||
├─ 缓存节点引用
|
||
└─ 使用 Godot 4.2+ 语法
|
||
↓
|
||
[Step 3] 注释规范检查
|
||
├─ 验证文件头注释
|
||
├─ 验证函数文档
|
||
└─ 检查行内注释
|
||
↓
|
||
[Step 4] 命名规范检查
|
||
├─ 类名 PascalCase
|
||
├─ 变量/函数 camelCase
|
||
├─ 常量 UPPER_CASE
|
||
└─ 私有成员 _prefix
|
||
↓
|
||
[Step 5] 测试代码编写
|
||
├─ 创建测试文件
|
||
├─ 编写测试用例
|
||
└─ 覆盖核心功能
|
||
↓
|
||
[Step 6] 测试验证
|
||
├─ 运行 GUT 测试
|
||
├─ 验证测试通过
|
||
└─ 修复失败测试
|
||
↓
|
||
[Step 7] Git 提交
|
||
├─ 确定提交类型
|
||
├─ 生成提交信息
|
||
└─ 遵循提交规范
|
||
↓
|
||
完成 ✅
|
||
```
|
||
|
||
## 🎓 最佳实践
|
||
|
||
### 1. 明确任务描述
|
||
```bash
|
||
# ✅ 好的描述
|
||
"实现玩家二段跳功能"
|
||
"修复敌人AI路径寻找Bug"
|
||
"创建商店购买界面"
|
||
|
||
# ❌ 模糊描述
|
||
"改一下玩家"
|
||
"修复Bug"
|
||
"做个界面"
|
||
```
|
||
|
||
### 2. 一次处理一个功能
|
||
```bash
|
||
# ✅ 推荐
|
||
用户:实现玩家移动
|
||
用户:实现玩家跳跃
|
||
|
||
# ❌ 不推荐
|
||
用户:实现玩家移动、跳跃、攻击、技能系统
|
||
```
|
||
|
||
### 3. 信任 Skill 流程
|
||
- Skill 会按照 7 步流程确保质量
|
||
- 不需要手动检查命名、注释等细节
|
||
- 专注于功能需求和业务逻辑
|
||
|
||
### 4. 查看生成的提交信息
|
||
- Skill 会在 Step 7 生成规范的提交信息
|
||
- 可以直接使用或根据需要微调
|
||
|
||
## ⚠️ 注意事项
|
||
|
||
1. **首次使用**
|
||
- 确保已阅读 `CLAUDE.md` 了解项目规范
|
||
- 确认所有规范文档都已存在
|
||
|
||
2. **测试环境**
|
||
- 确保 GUT 测试框架已安装(如需运行测试)
|
||
- Godot 可执行文件在 PATH 中(Step 6 测试执行)
|
||
|
||
3. **中断处理**
|
||
- 如果工作流被中断,可以继续执行剩余步骤
|
||
- Skill 使用 TodoWrite 追踪进度
|
||
|
||
4. **规范更新**
|
||
- 项目规范文档更新时,Skill 会自动读取最新版本
|
||
- 无需手动同步
|
||
|
||
## 🤝 反馈与改进
|
||
|
||
如果遇到问题或有改进建议:
|
||
|
||
1. 检查是否所有规范文档都已更新
|
||
2. 确认任务描述清晰明确
|
||
3. 查看 Skill 执行日志定位问题
|
||
4. 向团队报告问题或建议
|
||
|
||
## 📊 效果对比
|
||
|
||
### 不使用 Skill
|
||
```
|
||
开发者手动:
|
||
1. 不确定文件放哪里 ❌
|
||
2. 可能忘记类型注解 ❌
|
||
3. 注释不完整 ❌
|
||
4. 命名不一致 ❌
|
||
5. 没有测试 ❌
|
||
6. 提交信息格式错误 ❌
|
||
结果:代码质量参差不齐
|
||
```
|
||
|
||
### 使用 Skill
|
||
```
|
||
Skill 自动化:
|
||
1. 自动确定正确位置 ✅
|
||
2. 强制类型安全 ✅
|
||
3. 完整注释文档 ✅
|
||
4. 统一命名规范 ✅
|
||
5. 自动生成测试 ✅
|
||
6. 规范提交信息 ✅
|
||
结果:高质量、一致性代码
|
||
```
|
||
|
||
## 🎯 总结
|
||
|
||
whaletown-developer skill 是你的开发助手,它会:
|
||
|
||
- 🤖 **自动化** 7 步标准流程
|
||
- 📏 **标准化** 代码质量
|
||
- 🔒 **保证** 规范遵循
|
||
- ⚡ **加速** 开发效率
|
||
- 🧪 **确保** 测试覆盖
|
||
|
||
**记住:专注于功能实现,让 Skill 处理规范和质量!**
|
||
|
||
---
|
||
|
||
**开始使用:** 只需告诉 Claude "帮我实现 XXX 功能" 即可!
|