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

1.7 KiB

OES-WEB 开发流程

开发环境搭建

  1. 克隆仓库
  2. 运行 npm install
  3. 运行 npm run dev 启动开发服务器
  4. 打开 http://localhost:5173

分支策略

  • main -- 生产就绪代码
  • develop -- 功能集成分支
  • feature/* -- 单个功能分支
  • fix/* -- Bug 修复分支

分支命名: feature/short-descriptionfix/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. 审批后执行