文件
tennis-training-hub/docs/developer-workflow.md
2026-03-14 22:25:19 +08:00

1.8 KiB
原始文件 Blame 文件历史

Developer Workflow

Working model

本项目采用“阶段可停可跑”的开发方式。任何较大的改动都应满足:

  • 阶段结束即可本地启动
  • 阶段结束即可执行验证命令
  • 阶段结束即可提交本地 commit
pnpm check
pnpm test
pnpm test:go
pnpm build
pnpm test:e2e

全部通过后再提交:

git status
git add .
git commit -m "..."

Interrupt-safe development

如果业务开发中被打断,恢复时按以下顺序:

  1. git status 查看当前工作树
  2. 先跑 pnpm check
  3. 再跑 pnpm test
  4. 若涉及媒体链路,再跑 pnpm test:go
  5. 最后跑 pnpm test:e2e
  6. 若当前分支包含部署改动,再执行 docker compose config 与基础 smoke check

不要在一半状态下长时间保留“能编译但主流程不可用”的改动。

Deployment-safe checks

涉及 compose、nginx、数据库或媒体服务调整时,提交前至少确认

  • docker compose config 可通过
  • docker compose psappdbmediaworker 正常
  • 一次性迁移容器 migrate 成功退出
  • curl -I https://te.hao.work/ 返回 200
  • curl http://127.0.0.1:8081/media/health 返回 {"ok":true,...}

修改录制链路时至少检查:

  • client/src/lib/media.ts
  • client/src/pages/Recorder.tsx
  • media/main.go
  • server/routers.ts
  • server/_core/mediaProxy.ts

媒体改动完成后至少验证:

  • 会话创建
  • marker 写入
  • finalize
  • 视频库登记

Documentation discipline

以下改动必须同步更新文档:

  • 新增脚本或验证入口
  • 新增或变更媒体 API
  • 部署拓扑变化
  • 功能能力边界变化
  • 新增自动化测试覆盖范围

至少更新:

  • README.md
  • docs/testing.md
  • docs/verified-features.md
  • 相关专题文档