Files
oes-web/CONTRIBUTING.md
T
2026-05-11 17:39:31 +08:00

71 lines
1.7 KiB
Markdown

# OES-WEB 开发流程
## 开发环境搭建
1. 克隆仓库
2. 运行 `npm install`
3. 运行 `npm run dev` 启动开发服务器
4. 打开 http://localhost:5173
## 分支策略
- `main` -- 生产就绪代码
- `develop` -- 功能集成分支
- `feature/*` -- 单个功能分支
- `fix/*` -- Bug 修复分支
分支命名: `feature/short-description``fix/issue-number-description`
## 提交规范
使用 Conventional Commits:
- `feat: 添加新敌人类型`
- `fix: 修复对角线移动碰撞检测`
- `docs: 更新 GDD 新增能力系统`
- `refactor: 提取物理计算到独立模块`
- `test: 添加存档系统集成测试`
## 代码审查清单
- [ ] 所有测试通过 (`npm test`)
- [ ] TypeScript 类型检查通过 (`npx tsc --noEmit`)
- [ ] 没有 console.log 留在生产代码中
- [ ] 新功能有对应测试
- [ ] 性能: 游戏循环中无不必要对象分配
- [ ] 组件有 `type` 字段
## 文件命名
- 组件: PascalCase (`PlayerEntity.ts`)
- 工具: camelCase (`collisionDetection.ts`)
- 资源: kebab-case (`enemy-sprite-sheet.png`)
- 测试: `*.test.ts``*.spec.ts`
## 测试标准
- 所有游戏逻辑需要单元测试 (物理、技能计算、炼金组合)
- 存档/读档需要集成测试
- 视觉/音频功能需要手动测试
- 合并前运行完整测试套件
## 开发工作流 (AI 辅助)
### 功能开发
1. 在 GDD 中描述功能
2. 创建 feature 分支
3. 让 Claude Code 探索代码库并提出方案
4. 审批后实现并添加测试
5. 审查并迭代
### Bug 修复
1. 描述症状
2. Claude Code 搜索相关代码
3. 提出修复方案和根因分析
4. 验证后提交
### 重构
1. 陈述目标 ("让碰撞系统更易测试")
2. Claude Code 分析当前结构
3. 提出方案后再修改
4. 审批后执行