|
1 | 1 | # Auto-PR Workflow 🔄 |
2 | 2 |
|
3 | | -全自动 PR 提交工作流 — 从代码变更到合并,最大限度减少人工干预。 |
| 3 | +**教你的 Agent 自主提交高质量 PR 的能力。** |
4 | 4 |
|
5 | | -## ✨ 特性 |
| 5 | +不是固定脚本,而是 Agent 的思维方式。 |
6 | 6 |
|
7 | | -- **CLI-first** — 独立命令行工具,不依赖任何平台 |
8 | | -- **AI 双重审查** — Copilot + CodeRabbit 同时审查 |
9 | | -- **CI 自动监控** — 失败自动诊断、自动修复(最多3轮) |
10 | | -- **Auto-Merge** — CI 全绿自动合并 |
11 | | -- **多语言支持** — Rust、Node.js、Python、Go |
12 | | -- **Hermes 集成** — 可作为 Hermes Skill 使用 |
13 | | -- **测试记录系统** — 完整溯源、宣传案例、举例子 |
| 7 | +## ✨ 核心理念 |
14 | 8 |
|
15 | | -## 🚀 安装 |
16 | | - |
17 | | -```bash |
18 | | -# npm 安装 |
19 | | -npm install -g auto-pr-workflow |
20 | | - |
21 | | -# 或直接克隆 |
22 | | -git clone https://github.com/KuaaMU/auto-pr-workflow.git |
23 | | -echo 'export PATH="$HOME/auto-pr-workflow/cli/bin:$PATH"' >> ~/.bashrc |
24 | | -source ~/.bashrc |
25 | 9 | ``` |
26 | | - |
27 | | -## 📖 使用 |
28 | | - |
29 | | -```bash |
30 | | -# 初始化项目配置 |
31 | | -auto-pr init |
32 | | - |
33 | | -# 提交 PR |
34 | | -auto-pr submit |
35 | | - |
36 | | -# 监控 CI 并自动修复 |
37 | | -auto-pr watch |
38 | | - |
39 | | -# 手动触发 AI 审查 |
40 | | -auto-pr review |
41 | | - |
42 | | -# 启用 auto-merge |
43 | | -auto-pr merge |
44 | | - |
45 | | -# 自动生成 PR 描述 |
46 | | -auto-pr describe |
| 10 | +Skill 是大脑 — 教 Agent 分析、决策、判断 |
| 11 | +CLI 是手脚 — 帮 Agent 检查、执行、提交 |
47 | 12 | ``` |
48 | 13 |
|
49 | | -## 🔄 工作流程 |
| 14 | +**其他工具**:CLI 为主体,Agent 调用 CLI → 固定流程 → 模板填充 |
| 15 | +**Auto-PR Workflow**:Skill 为主体,Agent 自主思考 → 调用 CLI → 高质量 PR |
| 16 | + |
| 17 | +## 🧠 Agent 工作流 |
50 | 18 |
|
51 | 19 | ``` |
52 | | -Agent 改代码 |
| 20 | +Agent 深度分析项目(读代码、文档、CI、Issues) |
53 | 21 | │ |
54 | 22 | ▼ |
55 | | -本地安全门禁 ──── 失败 → 自动修复(最多3轮) |
56 | | - │ 通过 |
| 23 | +Agent 制定策略(什么 PR 有价值、什么会被拒绝) |
| 24 | + │ |
57 | 25 | ▼ |
58 | | -创建分支 + Commit |
| 26 | +调用 Claude Code 执行代码工作 |
59 | 27 | │ |
60 | 28 | ▼ |
61 | | -Push + 创建 PR |
62 | | - │ ├── @copilot(AI审查1) |
63 | | - │ └── @coderabbitai(AI审查2) |
| 29 | +CLI 辅助检查(语法、lint、测试) |
| 30 | + │ |
64 | 31 | ▼ |
65 | | -CI 运行 ──── 失败 → 自动诊断+修复 → 再push(最多3轮) |
66 | | - │ 全绿 |
| 32 | +提交 PR + 监控 CI |
| 33 | + │ |
67 | 34 | ▼ |
68 | | -Auto-Merge ──── CI+审查通过 → 自动合并 |
| 35 | +回应审查反馈 + 自动修复 |
69 | 36 | │ |
70 | 37 | ▼ |
71 | | -清理分支 |
| 38 | +记录结果 + 学习改进 |
72 | 39 | ``` |
73 | 40 |
|
| 41 | +## 🚀 使用方式 |
| 42 | + |
| 43 | +### 方式 1: 作为 Skill(推荐) |
| 44 | + |
| 45 | +让 Agent 学会这个能力: |
| 46 | + |
| 47 | +```bash |
| 48 | +# Agent 自主执行完整工作流 |
| 49 | +hermes delegate_task --goal "分析项目 X,提交一个有价值的 PR" \ |
| 50 | + --context "使用 auto-pr-workflow skill 的方法论" |
| 51 | +``` |
| 52 | + |
| 53 | +### 方式 2: CLI 辅助工具 |
| 54 | + |
| 55 | +Agent 可以用 CLI 做具体操作: |
| 56 | + |
| 57 | +```bash |
| 58 | +auto-pr check # 本地检查(语法、lint) |
| 59 | +auto-pr submit # 提交 PR |
| 60 | +auto-pr watch # 监控 CI 状态 |
| 61 | +auto-pr review # 查看审查反馈 |
| 62 | +``` |
| 63 | + |
| 64 | +**CLI 不做的事**: |
| 65 | +- ❌ 不决定提交什么(Agent 决定) |
| 66 | +- ❌ 不分析项目(Agent 分析) |
| 67 | +- ❌ 不生成内容(Agent 或 Claude Code 生成) |
| 68 | + |
| 69 | +## 🔍 深度分析能力 |
| 70 | + |
| 71 | +Agent 学会这个 Skill 后,应该能够: |
| 72 | + |
| 73 | +1. **分析项目架构** — 读 README、CONTRIBUTING、CLAUDE.md |
| 74 | +2. **理解贡献政策** — 什么 PR 会被接受、什么会被拒绝 |
| 75 | +3. **找到真实痛点** — 不是模板填充,而是项目实际需要的 |
| 76 | +4. **制定 PR 策略** — 基于分析结果选择最高价值方向 |
| 77 | + |
| 78 | +### 高价值 PR 方向 |
| 79 | + |
| 80 | +| 方向 | 价值 | 风险 | |
| 81 | +|------|------|------| |
| 82 | +| 修复真实 Bug | ⭐⭐⭐ | 低 | |
| 83 | +| 补充测试用例 | ⭐⭐⭐ | 低 | |
| 84 | +| 修复 CI 遗漏 | ⭐⭐⭐ | 低 | |
| 85 | +| 文档修正/完善 | ⭐⭐ | 极低 | |
| 86 | +| 安全漏洞修复 | ⭐⭐⭐⭐ | 低 | |
| 87 | + |
| 88 | +### 低价值方向(常被拒绝) |
| 89 | + |
| 90 | +| 方向 | 问题 | |
| 91 | +|------|------| |
| 92 | +| 通用模板填充 | 没有分析项目实际需求 | |
| 93 | +| 添加新功能 | 大多数项目需要先讨论 | |
| 94 | +| 引入新依赖 | 需要维护者同意 | |
| 95 | + |
74 | 96 | ## 📁 项目结构 |
75 | 97 |
|
76 | 98 | ``` |
77 | 99 | auto-pr-workflow/ |
78 | | -├── cli/ # CLI 工具 |
79 | | -│ ├── bin/auto-pr # 可执行入口 |
80 | | -│ ├── src/ # 源码 |
81 | | -│ ├── tests/ # 测试 |
82 | | -│ ├── templates/ # 配置模板 |
83 | | -│ └── package.json |
84 | | -├── skill/ # Hermes Skill |
85 | | -│ ├── SKILL.md # 技能文档 |
86 | | -│ ├── scripts/ # 包装脚本 |
87 | | -│ └── templates/ # → cli/templates |
88 | | -├── test-records/ # 测试记录 |
| 100 | +├── skill/ # 🧠 Agent 的大脑 |
| 101 | +│ └── SKILL.md # 工作流方法论 |
| 102 | +├── cli/ # 🤖 Agent 的手脚 |
| 103 | +│ ├── bin/auto-pr # CLI 入口 |
| 104 | +│ ├── src/ # 检查、提交、监控 |
| 105 | +│ └── templates/ # 配置模板 |
| 106 | +├── test-records/ # 📝 测试记录 |
89 | 107 | │ ├── README.md # 索引 |
90 | | -│ ├── template.md # 记录模板 |
91 | | -│ └── YYYY-MM-DD_*.md # 具体记录 |
| 108 | +│ └── *.md # 具体记录 |
92 | 109 | └── README.md |
93 | 110 | ``` |
94 | 111 |
|
95 | 112 | ## 🏆 真实案例 |
96 | 113 |
|
97 | | -以下是使用 `auto-pr-workflow` 的真实测试记录,展示工具在不同项目上的能力: |
98 | | - |
99 | | -| 日期 | 项目 | 语言 | Stars | 测试类型 | 结果 | PR | |
100 | | -|------|------|------|-------|----------|------|-----| |
101 | | -| 2026-04-30 | [chadbyte/clay](https://github.com/chadbyte/clay) | JavaScript | 249 | init + submit + watch + fix | ✅ | [PR#1](https://github.com/KuaaMU/clay/pull/1) | |
| 114 | +| 日期 | 项目 | Stars | 分析深度 | 结果 | |
| 115 | +|------|------|-------|---------|------| |
| 116 | +| 2026-04-30 | [chadbyte/clay](https://github.com/chadbyte/clay) | 249 | ✅ 深度分析 | [PR#1](https://github.com/KuaaMU/clay/pull/1) | |
102 | 117 |
|
103 | 118 | **详细记录**:[test-records/](./test-records/) |
104 | 119 |
|
105 | | -### 案例价值 |
106 | | - |
107 | | -- **溯源索引**:每个 PR 都有完整的执行日志 |
108 | | -- **问题追踪**:记录遇到的问题和解决方案 |
109 | | -- **性能数据**:各阶段耗时统计 |
110 | | -- **宣传材料**:真实案例比文档更有说服力 |
111 | | - |
112 | | -## 🤖 AI 审查额度 |
113 | | - |
114 | | -| 工具 | 免费额度 | 省额度策略 | |
115 | | -|------|----------|------------| |
116 | | -| Copilot | 包含在订阅中 | 小PR不@,大PR才用 | |
117 | | -| CodeRabbit | 公共仓库免费无限 | 公共仓库放心用 | |
118 | | - |
119 | | -## 🏆 竞品对比 |
| 120 | +## 🤖 与其他工具对比 |
120 | 121 |
|
121 | | -| 工具 | Stars | 我们的优势 | |
122 | | -|------|-------|-----------| |
123 | | -| Qodo Merge | 6.8k | CLI-first,Hermes 集成 | |
124 | | -| CodeRabbit | 2.8k | 多 AI 整合 | |
125 | | -| Sweep | 7.3k | 聚焦 PR 提交流程 | |
126 | | -| reviewdog | 7.8k | 全流程自动化 | |
| 122 | +| 工具 | 主体 | 思考方式 | 结果 | |
| 123 | +|------|------|---------|------| |
| 124 | +| Qodo Merge | CLI | 固定流程 | 通用审查 | |
| 125 | +| CodeRabbit | 服务 | 模式匹配 | 代码建议 | |
| 126 | +| Sweep | Agent | 任务执行 | 自动修复 | |
| 127 | +| **Auto-PR Workflow** | **Skill** | **深度分析** | **高质量 PR** | |
127 | 128 |
|
128 | 129 | ## 📄 License |
129 | 130 |
|
|
0 commit comments