From 52046b4351ede363360a92f4d49a34377c1bec07 Mon Sep 17 00:00:00 2001 From: csh Date: Sat, 28 Feb 2026 10:22:25 +0800 Subject: [PATCH] :memo: docs(prompts): add code-review template and align docs flow --- templates/README.md | 4 +- templates/prompts/README.md | 6 +- .../prompts/coding/code-review.template.md | 81 +++++++++++++++++++ tests/templates/validate_project_templates.sh | 1 + 4 files changed, 90 insertions(+), 2 deletions(-) create mode 100644 templates/prompts/coding/code-review.template.md diff --git a/templates/README.md b/templates/README.md index 548252d..114626f 100644 --- a/templates/README.md +++ b/templates/README.md @@ -21,7 +21,8 @@ templates/ │ │ └── agent-behavior.template.md │ ├── coding/ │ │ ├── clarify.template.md -│ │ └── review.template.md +│ │ ├── review.template.md +│ │ └── code-review.template.md │ └── meta/ │ └── prompt-generator.template.md ├── ci/ # CI 模板 @@ -214,6 +215,7 @@ project/ | `system/agent-behavior.template.md` | 工作模式参考 | 切换探索/开发/调试模式 | | `coding/clarify.template.md` | 需求澄清模板 | 需求不明确时 | | `coding/review.template.md` | 复盘总结模板 | Plan 完成后复盘 | +| `coding/code-review.template.md` | 代码评审流程 | 执行 MR/PR 代码评审 | | `meta/prompt-generator.template.md` | 元提示词生成器 | 创建新的专用提示词 | ### AGENT_RULES.template.md diff --git a/templates/prompts/README.md b/templates/prompts/README.md index 0c681c1..c8cc1e1 100644 --- a/templates/prompts/README.md +++ b/templates/prompts/README.md @@ -11,7 +11,8 @@ prompts/ │ └── agent-behavior.md # 工作模式参考 ├── coding/ │ ├── clarify.md # 需求澄清模板 -│ └── review.md # 复盘总结模板 +│ ├── review.md # 复盘总结模板 +│ └── code-review.md # MR/PR 代码评审流程 └── meta/ └── prompt-generator.md # 元提示词生成器 ``` @@ -23,6 +24,7 @@ prompts/ | **agent-behavior.md** | 切换工作模式(探索/开发/调试) | | **clarify.md** | 需求不明确时澄清 | | **review.md** | Plan 完成后复盘总结 | +| **code-review.md** | 执行 MR/PR 代码评审 | | **prompt-generator.md** | 创建新的专用提示词 | ## 工作流程 @@ -36,6 +38,8 @@ prompts/ ↓ 执行计划 → AGENT_RULES 主循环(留痕) ↓ +代码评审(有 MR/PR 时)→ code-review.md + ↓ 完成复盘 → review.md ↓ 沉淀提示词 → prompt-generator.md(可选) diff --git a/templates/prompts/coding/code-review.template.md b/templates/prompts/coding/code-review.template.md new file mode 100644 index 0000000..8c79dc4 --- /dev/null +++ b/templates/prompts/coding/code-review.template.md @@ -0,0 +1,81 @@ +# Code Review 流程 + +## 触发场景 + +收到 MR/PR 需要评审时。 + +## 准备 + +切换到对应分支并获取变更内容: + +```bash +# GitLab +glab mr checkout +glab mr view | cat +glab mr diff | cat + +# GitHub +gh pr checkout +gh pr view +gh pr diff +``` + +## 评审流程 + +逐步执行以下维度。改动简单时可跳过某些步骤。 + +### 1. 理解业务目标 + +- 能否理解本次改动的业务目标? +- 如果目标不明确,先确认再评审。 + +### 2. High-level Review + +- 改动是否放在了合适的位置? +- 是否尽可能复用已有实现? +- 是否有破坏现有设计与逻辑的可能? + +### 3. Bug 检查 + +- 是否隐含业务错误、逻辑纰漏或安全问题? +- **未修改**的相关联代码是否有遗漏? + +### 4. 代码清晰度 + +- 逻辑是否简洁易懂? +- 命名是否清晰合理? +- 一年后再读,是否能轻松理解? + +### 5. KISS 原则 + +- 是否有不必要的复杂度? +- 是否有未使用的定义、过多参数? +- 是否重复造轮子? + +### 6. 单一职责 + +- 每个函数/类是否只做一件事? +- 文件/类/方法行数是否合理? + +### 7. 测试覆盖 + +- 复杂业务逻辑(含 if/else/for)是否有测试? +- 测试是否有效(非空实现)? +- 不应过度测试无控制逻辑的代码。 + +## 输出 + +评审完成后,总结发现的**重点问题**,按严重性排列。 + +## AI 与人工的分工 + +| 维度 | 负责方 | 说明 | +| ---- | ------ | ---- | +| Bug、逻辑漏洞、安全问题 | **AI + 人工** | AI 负责初筛与证据收集,结论需人工复核 | +| 代码清晰度、KISS、单一职责 | **AI + 人工** | AI 提供候选问题,人工决定是否采纳 | +| 架构合理性、业务对齐 | **人工** | AI 反馈少且准确率低,需人工把关 | +| 兼容性、历史债务、战略取舍 | **人工** | 依赖背景知识,AI 难以判断 | + +> 规则:AI 结论必须附文件路径、行号或可复现依据;缺少证据时按待确认假设处理。 +> +> 注意:评审不只看 diff,需结合代码库整体上下文做评估。 diff --git a/tests/templates/validate_project_templates.sh b/tests/templates/validate_project_templates.sh index 9eea2ff..341ddb8 100644 --- a/tests/templates/validate_project_templates.sh +++ b/tests/templates/validate_project_templates.sh @@ -91,6 +91,7 @@ validate_file_exists "$PROMPTS_DIR/README.md" "prompts/README.md" validate_file_exists "$PROMPTS_DIR/system/agent-behavior.template.md" "prompts/system/agent-behavior.template.md" validate_file_exists "$PROMPTS_DIR/coding/clarify.template.md" "prompts/coding/clarify.template.md" validate_file_exists "$PROMPTS_DIR/coding/review.template.md" "prompts/coding/review.template.md" +validate_file_exists "$PROMPTS_DIR/coding/code-review.template.md" "prompts/coding/code-review.template.md" validate_file_exists "$PROMPTS_DIR/meta/prompt-generator.template.md" "prompts/meta/prompt-generator.template.md" echo ""