gitlink-cli/skills/gitlink-pr-assessor/examples/gitlink-cli-pr-assessment.md

129 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# gitlink-cli PR 队列评估示例
这个示例展示如何用 `gitlink-pr-assessor` 扫描 `gitlink-cli` 仓库里的 open PR并筛出“还没有形成维护者结论”的 PR给每条 PR 生成一份报告。
## 示例目标
维护者希望每天或每隔一段时间得到一份待审队列报告,帮助回答:
- 哪些 open PR 还没有被真正处理
- 哪些 PR 值得优先投入人工评审
- 哪些 PR 只是证据不足,需要作者先补测试或补说明
## 推荐流程
这里统一约定:
- `pull_request_id` 用来执行 `pr +view`、`pr +files`、`pr +diff`、`pr +reviews`
- `pull_request_number` 只用于人类阅读的报告标题、列表展示和网页链接
### 1. 拉 open PR 列表
```bash
gitlink-cli pr +list --owner Gitlink --repo gitlink-cli --state open --page 1 --limit 50 --format json
```
注意:
- 不要只信 `--state open`
- 必须再按 `pull_request_status == 0` 过滤
### 2. 对每条 PR 判断是否进入待评估队列
```bash
gitlink-cli pr +view --owner Gitlink --repo gitlink-cli --id <pull_request_id> --format json
gitlink-cli pr +reviews --owner Gitlink --repo gitlink-cli --id <pull_request_id> --format json
```
建议跳过:
- 已有 `approved`
- 已有 `rejected`
- 已经带有 assessor 报告标记 `<!-- gitlink-pr-assessor:report v1 -->`
### 3. 对纳入队列的 PR 拉上下文
```bash
gitlink-cli pr +files --id <pull_request_id> --format json
gitlink-cli pr +diff --id <pull_request_id> --format json
gitlink-cli api GET /Gitlink/gitlink-cli/pulls/<pull_request_id>/commits --format json
gitlink-cli repo +info --owner Gitlink --repo gitlink-cli --format json
gitlink-cli ci +builds --owner Gitlink --repo gitlink-cli --format json
```
### 4. 提炼待验证声明
例如 PR 描述写了:
- 新增某个 shortcut
- 修复某个复杂边界输入问题
- 补充帮助文档和测试
那么可以整理出声明清单:
1. 命令或参数是否真的存在。
2. 行为是否与 PR 描述一致。
3. 测试是否覆盖关键边界值。
4. 构建和相关模块测试是否通过。
### 5. 按 `gitlink-cli` 的仓库习惯做执行验证
对这个仓库,通常优先验证:
```bash
go build ./...
go test ./...
```
如果 PR 只影响局部模块,再补局部测试,例如:
```bash
go test ./shortcuts/pr/...
go test ./shortcuts/attachment/...
go test ./shortcuts/workflow/...
```
### 6. 输出两层结果
#### 队列总览
给维护者快速看:
- 今天扫描到多少 open PR
- 其中多少条需要优先看
- 哪些被跳过,为什么跳过
#### 单条 PR 报告
给维护者细看:
- 这条 PR 值不值得继续投精力
- 当前最关键的风险是什么
- 作者下一步该补什么
- 维护者适合给出什么 review 建议
## 一个典型结论示例
如果某条 PR 的情况是:
- 功能方向合理
- 局部测试通过
- 全量构建通过
- 但复杂边界输入没有测试
那么更合适的报告结论通常是:
`建议补测试或补验证说明后再进入人工评审`
如果某条 PR 的情况是:
- 涉及鉴权、路径、编码或发布逻辑
- 影响面大
- 证据还不够完整
那么应提高优先级,并明确写出:
- `risk_level: high`
- `priority: P1`
- 需要哪类维护者继续接手,例如 CLI、安全或架构方向