6.4 KiB
6.4 KiB
代码质量看门人 · 工作流说明与架构(子任务三)
端到端自动化工作流:PR 提交后自动跑完「采集 → AI Review → CI → 评论 → 质量判定/合并」。 对应 Skill:
skills/gitlink-pr-guard/SKILL.md;可复现脚本:demo/pr-guard-workflow.sh。
一、工作流架构图
┌─────────────────────────────────────────────┐
│ 触发:PR 提交 / 更新 │
│ (或用户:帮我把关 PR #<id>) │
└──────────────────────┬──────────────────────┘
▼
┌─────────────────────────────────────────────┐
│ Step 1 采集 PR 变更 │
│ pr +view → pr +files → pr +diff --stat │
│ 产出:PR 详情 / 变更文件 / diff 统计 │
└──────────────────────┬──────────────────────┘
▼
┌─────────────────────────────────────────────┐
│ Step 2 AI Review(复用 code-review 逻辑) │
│ 逐文件分析 diff → 分级找问题 │
│ 🔴 Critical / 🟡 Warning / 🔵 Suggestion │
└──────────────────────┬──────────────────────┘
▼
┌─────────────────────────────────────────────┐
│ Step 3 CI 检查 │
│ ci +builds → 匹配分支最新构建 → 状态 │
│ success / failure / pending │
└──────────────────────┬──────────────────────┘
▼
┌─────────────────────────────────────────────┐
│ Step 4 发布质量看门人报告 │
│ api POST .../pulls/:id/reviews │
│ 报告:判定 + 问题清单 + CI + 处置建议 │
└──────────────────────┬──────────────────────┘
▼
┌─────────────────────────────────────────────┐
│ Step 5 质量判定(门禁规则) │
│ ┌─────────────────────────────────────┐ │
│ │ 0 Critical + CI success → ✅ 合并 │ │
│ │ 有 Critical → 🔴 请求修改 │ │
│ │ CI failure → 🔴 请求修改 │ │
│ └─────────────────────────────────────┘ │
│ 达标+确认 → pr +merge │
└─────────────────────────────────────────────┘
二、串联的 CLI 命令 / Skill(满足"≥3 步")
| Step | 命令域 | 具体调用 | 类型 |
|---|---|---|---|
| 1 | pr | pr +view / +files / +diff |
采集 |
| 2 | code-review | Review 分析逻辑(分级找问题) | AI 分析 |
| 3 | ci | ci +builds / +log |
采集 |
| 4 | api | POST .../pulls/:id/reviews |
写(评论) |
| 5 | pr | pr +merge(达标确认后) |
写(合并) |
共串联 4 个命令域 + 5 个步骤 + 2 处写操作,远超任务三"≥3 步"要求。
三、与子任务二的区别(关键)
| 维度 | 子任务二 Skill(如 code-review) | 子任务三 本工作流(pr-guard) |
|---|---|---|
| 交付单位 | 单个 Skill | 串联多步的完整解决方案 |
| 职责 | 只做 Review | Review + CI + 评论 + 合并决策 |
| 触发 | 用户要 Review | PR 提交自动跑完整流水线 |
| 决策 | 输出意见 | 质量门禁判定(通过/拒绝/合并) |
code-review 是"审查员",pr-guard 是"看门人"——后者在前者基础上加了 CI 维度和合并决策,形成完整门禁。
四、可复现性(对应交付要求)
| 要求 | 满足方式 |
|---|---|
| 串联 ≥3 步 CLI/Skill | 5 步、4 域 ✅ |
| 含自定义 Skill 兼容 Agent | gitlink-pr-guard SKILL.md(Claude Code 可读)✅ |
| 可复现执行脚本 | demo/pr-guard-workflow.sh(参数化)✅ |
| 真实 GitLink 项目演示 | 登录后对真实 PR 运行(见下) |
| 工作流说明 + 架构图 | 本文档 ✅ |
五、真实演示步骤(登录后)
# 1. 登录
gitlink-cli auth login
# 2. 找一个真实 PR
gitlink-cli pr +list --owner <owner> --repo <repo> --state open
# 3. 跑质量看门人流水线(脚本采集,AI 在 Claude Code 做 Step2 分析)
bash demo/pr-guard-workflow.sh <owner> <repo> <pr_id>
# 或在 Claude Code 里自然语言触发:
# "读 skills/gitlink-pr-guard/SKILL.md,帮我把关 <owner>/<repo> 的 PR #42"
预期 AI 行为:读 pr-guard SKILL.md → 按工作流跑 5 步 → 输出质量看门人报告 + 判定(通过/拒绝)+ 合并建议。
六、交付清单
skills/gitlink-pr-guard/SKILL.md— 工作流定义 + 门禁规则 + 报告模板demo/pr-guard-workflow.sh— 可复现脚本(5 步串联)demo/pr-guard-architecture.md— 本文档(说明 + 架构图)- 真实项目演示(登录后运行 + 截图/录屏)
- 报告(暂缓,后续按统一策略补《新需求构思》《变更影响测试》)