135 lines
2.8 KiB
Markdown
135 lines
2.8 KiB
Markdown
|
|
# SOP-003: 推送评审标准作业流程
|
||
|
|
|
||
|
|
**适用**: 任何 commit 推 Gitea / PR 评审 / workbuddy 推送
|
||
|
|
**耗时**: 5-15 分钟
|
||
|
|
**关联**: [[CONTRIBUTING]] / [[scripts/pre-commit-check.sh]] / [[风险跟踪表]] 第九/十/十一节
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 1. 推送前自检(4 件套)
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd D:\资料\03-项目开发\wecom_it_smart_desk
|
||
|
|
|
||
|
|
# 必跑
|
||
|
|
bash scripts/pre-commit-check.sh --branch
|
||
|
|
|
||
|
|
# 严格模式(任何 warn 失败)
|
||
|
|
bash scripts/pre-commit-check.sh --branch --strict
|
||
|
|
```
|
||
|
|
|
||
|
|
**通过标准**:
|
||
|
|
- ✅ PASS ≥ 检查项数
|
||
|
|
- ⚠️ WARN 看是否影响评审
|
||
|
|
- ❌ FAIL 必修
|
||
|
|
|
||
|
|
## 2. Commit 规范
|
||
|
|
|
||
|
|
格式: `<type>(<scope>): <subject>`
|
||
|
|
|
||
|
|
| type | 用途 |
|
||
|
|
|---|---|
|
||
|
|
| `feat` | 新功能 |
|
||
|
|
| `fix` | Bug 修复 |
|
||
|
|
| `refactor` | 重构(无新功能 / 无 Bug 修复) |
|
||
|
|
| `docs` | 文档 |
|
||
|
|
| `chore` | 构建/工具/依赖 |
|
||
|
|
| `security` | 安全 |
|
||
|
|
| `perf` | 性能 |
|
||
|
|
| `test` | 测试 |
|
||
|
|
|
||
|
|
**subject**: 中文,祈使句,≤50 字
|
||
|
|
**body**: 详细说明,每行 ≤72 字
|
||
|
|
**footer**: 关联 Issue / workbuddy 任务
|
||
|
|
|
||
|
|
## 3. 推送流程
|
||
|
|
|
||
|
|
### 3.1 workbuddy 推送
|
||
|
|
|
||
|
|
1. workbuddy 客户端启动 → 读 `config.json` + `memory/`
|
||
|
|
2. 接任务(W-1 / W-2 / ...)
|
||
|
|
3. 写代码 → 本地 commit
|
||
|
|
4. 推 `feature/xxx` 分支(不走 main,需 PR)
|
||
|
|
5. 通知 Claude 评审
|
||
|
|
|
||
|
|
### 3.2 simon 推送(自己改)
|
||
|
|
|
||
|
|
1. 本地改 + commit
|
||
|
|
2. 推 `feature/xxx` 分支
|
||
|
|
3. Gitea Web 开 PR
|
||
|
|
4. 自己 approve + merge(因 `block_admin_merge: false`)
|
||
|
|
|
||
|
|
## 4. 评审流程
|
||
|
|
|
||
|
|
### 4.1 Claude 评审(主)
|
||
|
|
|
||
|
|
1. 收到 workbuddy 推送通知
|
||
|
|
2. Read 文件 + diff
|
||
|
|
3. 检查 4 件套
|
||
|
|
4. 写评审报告 `docs/评审报告/workbuddy-{date}-{topic}.md`
|
||
|
|
5. 评级:
|
||
|
|
- 🟢 通过 → 通知合并
|
||
|
|
- 🟡 留 P1/P2 修 → 评审报告列遗留
|
||
|
|
- 🔴 拒绝 → 评审报告列阻断
|
||
|
|
|
||
|
|
### 4.2 simon 合并
|
||
|
|
|
||
|
|
1. 评审通过 → Gitea Web 合并 PR
|
||
|
|
2. 触发 Gitea Actions CI(待配)
|
||
|
|
3. CI 绿 → 删 feature 分支
|
||
|
|
|
||
|
|
## 5. 评审失败处理
|
||
|
|
|
||
|
|
| 评级 | 处理 |
|
||
|
|
|---|---|
|
||
|
|
| 🟢 通过 | 合并 + 部署 |
|
||
|
|
| 🟡 留 P1 | 合并 + 写遗留表 + workbuddy 下一轮修 |
|
||
|
|
| 🔴 拒绝 | workbuddy 修 → 重新评审 |
|
||
|
|
|
||
|
|
## 6. 评审报告格式
|
||
|
|
|
||
|
|
`docs/评审报告/workbuddy-{YYYY-MM-DD}-{topic}.md`:
|
||
|
|
|
||
|
|
```markdown
|
||
|
|
# 评审: {topic}
|
||
|
|
|
||
|
|
**推送日期**: {date}
|
||
|
|
**评审日期**: {date}
|
||
|
|
**评审人**: Claude
|
||
|
|
**关联 PR**: feature/xxx → main
|
||
|
|
**关联 commit**: N 个
|
||
|
|
|
||
|
|
## ⭐ 一句话结论
|
||
|
|
...
|
||
|
|
|
||
|
|
## 📊 评审结果
|
||
|
|
| # | 项 | 评级 | 备注 |
|
||
|
|
|---|---|---|---|
|
||
|
|
|
||
|
|
## ✅ 已正确完成
|
||
|
|
...
|
||
|
|
|
||
|
|
## 🟡 半成品(留 P2 优化)
|
||
|
|
...
|
||
|
|
|
||
|
|
## ❌ 错误
|
||
|
|
...
|
||
|
|
|
||
|
|
## 📁 变更清单(N commit)
|
||
|
|
...
|
||
|
|
|
||
|
|
## 🔄 下一轮任务清单
|
||
|
|
...
|
||
|
|
|
||
|
|
## 🔗 推 Gitea 状态
|
||
|
|
- 远端分支: feature/xxx (HEAD = xxx)
|
||
|
|
- 评审: ✅ 通过 / 🟡 通过 + 留 / 🔴 拒绝
|
||
|
|
```
|
||
|
|
|
||
|
|
## 7. 不允许
|
||
|
|
|
||
|
|
- ❌ 跳过评审直推 main
|
||
|
|
- ❌ 评审失败强行合并
|
||
|
|
- ❌ 评审未消化前叠加新功能
|
||
|
|
- ❌ 改评审报告原文(只加节)
|