Files
gitea-pr-review/README.md
T

99 lines
2.3 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.
# gitea-pr-review
> 中文文档(默认) | English: [README.en.md](./README.en.md)
`gitea-pr-review` 用于读取 Gitea Pull Request,并整理为适合 LLM 消费的文档。
## 功能
- 拉取单个 PR 的核心信息:标题、状态、分支、commit 列表、基础 diff stat
- 完整保留 review/comment/reply 原文
- 支持两种输出格式:
- `markdown`:适合直接喂给 LLM
- `json`:结构化输出,便于脚本二次处理
- 支持从已保存的 JSON 重新渲染 Markdown(无需再次请求 Gitea
## 安装
```bash
cargo build --release
# 可执行文件:target/release/gitea-pr-review
```
## 环境变量
`fetch` 子命令需要以下环境变量:
- `GITEA_PR_CLI_API_TOKEN`
- `GITEA_PR_CLI_URL`(例如 `https://gitea.com`
- `GITEA_PR_CLI_REPO`(例如 `Origami404/aaa`
## 用法
### 1) 从 Gitea 拉取 PRfetch
```bash
# 默认输出 markdown 到 stdout
gitea-pr-review fetch <pr-index>
# 输出 json 到 stdout
gitea-pr-review fetch <pr-index> --format json
# 输出到文件
gitea-pr-review fetch <pr-index> --out pr.md
gitea-pr-review fetch <pr-index> --format json --out pr.json
```
### 2) 从 JSON 渲染 Markdownrender-md
```bash
# 输出到 stdout
gitea-pr-review render-md --in pr.json
# 输出到文件
gitea-pr-review render-md --in pr.json --out pr.md
```
## Markdown 输出结构(示例)
````md
# <repo> `#<pr-index>` <pr-title>
> 编号规则:Review `<pr>.<review>`Comment `<pr>.<review>.<comment>`Reply `<pr>.<review>.<comment>.<reply>`
> fetched at: <fetch-time-rfc3339>
<pr 描述>
## Metadata
### Commits
- <sha-short> <title> (<author>, <date>)
### Diff Stat
total: <files_changed> files, +<additions>, -<deletions>
- <file-path>: +<additions>, -<deletions>
## Review <pr-index>.<review-seq> (<review-state>)
> <reviewer>
### Comment <pr-index>.<review-seq>.<comment-seq>
<file>:<line>
<user>:
```md
<原始评论正文>
```
### Reply <pr-index>.<review-seq>.<comment-seq>.<reply-seq>
<file>:<line>
<user>:
```md
<原始回复正文>
```
````
## 说明
- 默认输出到 `stdout`;仅在指定 `--out` 时写入文件。
- 当评论正文本身包含 Markdown / 代码块时,渲染器会自动处理 fence,避免破坏整体结构。
- `Comment` 和 `Reply` 都会显示各自直接关联的文件路径与行号(若 API 提供)。