74 行
1.3 KiB
Markdown
74 行
1.3 KiB
Markdown
# Developer Workflow
|
|
|
|
## Working model
|
|
|
|
本项目采用“阶段可停可跑”的开发方式。任何较大的改动都应满足:
|
|
|
|
- 阶段结束即可本地启动
|
|
- 阶段结束即可执行验证命令
|
|
- 阶段结束即可提交本地 commit
|
|
|
|
## Recommended loop
|
|
|
|
```bash
|
|
pnpm check
|
|
pnpm test
|
|
pnpm test:go
|
|
pnpm build
|
|
pnpm test:e2e
|
|
```
|
|
|
|
全部通过后再提交:
|
|
|
|
```bash
|
|
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`
|
|
|
|
不要在一半状态下长时间保留“能编译但主流程不可用”的改动。
|
|
|
|
## Media-related changes
|
|
|
|
修改录制链路时至少检查:
|
|
|
|
- `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`
|
|
- 相关专题文档
|