@c-d-cc/reap 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +95 -9
- package/README.ko.md +95 -9
- package/README.md +95 -9
- package/README.zh-CN.md +95 -9
- package/dist/cli.js +180 -112
- package/dist/templates/artifacts/merge/01-detect.md +18 -0
- package/dist/templates/artifacts/merge/02-mate.md +12 -0
- package/dist/templates/artifacts/merge/03-merge.md +15 -0
- package/dist/templates/artifacts/merge/04-sync.md +18 -0
- package/dist/templates/artifacts/merge/05-validation.md +11 -0
- package/dist/templates/artifacts/merge/06-completion.md +13 -0
- package/dist/templates/commands/reap.evolve.md +7 -0
- package/dist/templates/commands/reap.merge.completion.md +20 -0
- package/dist/templates/commands/reap.merge.detect.md +20 -0
- package/dist/templates/commands/reap.merge.evolve.md +28 -0
- package/dist/templates/commands/reap.merge.mate.md +27 -0
- package/dist/templates/commands/reap.merge.md +47 -0
- package/dist/templates/commands/reap.merge.merge.md +22 -0
- package/dist/templates/commands/reap.merge.start.md +21 -0
- package/dist/templates/commands/reap.merge.sync.md +32 -0
- package/dist/templates/commands/reap.merge.validation.md +25 -0
- package/dist/templates/commands/reap.next.md +14 -1
- package/dist/templates/commands/reap.pull.md +51 -0
- package/dist/templates/commands/reap.push.md +18 -0
- package/dist/templates/hooks/genome-loader.cjs +34 -12
- package/dist/templates/hooks/opencode-session-start.js +2 -2
- package/dist/templates/hooks/session-start.cjs +2 -2
- package/package.json +1 -1
package/README.zh-CN.md
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
> [English](README.md) | [한국어](README.ko.md) | [日本語](README.ja.md)
|
|
2
|
+
|
|
1
3
|
<p align="center">
|
|
2
4
|
<img src="media/logo.png" alt="REAP" width="80" height="80" />
|
|
3
5
|
</p>
|
|
@@ -9,8 +11,6 @@
|
|
|
9
11
|
AI与人类通过迭代Generation来进化软件的开发管线。
|
|
10
12
|
</p>
|
|
11
13
|
|
|
12
|
-
> [English](README.md) | [한국어](README.ko.md) | [日本語](README.ja.md)
|
|
13
|
-
|
|
14
14
|
<table align="center">
|
|
15
15
|
<tr>
|
|
16
16
|
<td align="center"><strong>Genome</strong><br><sub>设计与知识</sub></td>
|
|
@@ -23,6 +23,22 @@
|
|
|
23
23
|
|
|
24
24
|
REAP定义应用程序的遗传信息(Genome),为每个世代设定目标进行实现,并将过程中发现的Genome缺陷反馈到后续阶段。随着世代的积累,Genome不断进化,Source Code(Civilization)持续成长。
|
|
25
25
|
|
|
26
|
+
## 目录
|
|
27
|
+
|
|
28
|
+
- [为什么选择REAP?](#为什么选择reap)
|
|
29
|
+
- [安装](#安装)
|
|
30
|
+
- [快速开始](#快速开始)
|
|
31
|
+
- [生命周期](#生命周期)
|
|
32
|
+
- [核心概念](#核心概念)
|
|
33
|
+
- [分布式工作流 — 并行开发](#分布式工作流--并行开发)
|
|
34
|
+
- [CLI命令](#cli命令)
|
|
35
|
+
- [代理集成](#代理集成)
|
|
36
|
+
- [`reap init`后的项目结构](#reap-init后的项目结构)
|
|
37
|
+
- [谱系压缩(Lineage Compression)](#谱系压缩lineage-compression)
|
|
38
|
+
- [进化流程(Evolution Flow)](#进化流程evolution-flow)
|
|
39
|
+
- [预设(Presets)](#预设presets)
|
|
40
|
+
- [入口模式(Entry Modes)](#入口模式entry-modes)
|
|
41
|
+
|
|
26
42
|
## 为什么选择REAP?
|
|
27
43
|
|
|
28
44
|
在使用AI代理进行开发时,你是否遇到过这些问题?
|
|
@@ -31,6 +47,7 @@ REAP定义应用程序的遗传信息(Genome),为每个世代设定目标
|
|
|
31
47
|
- **分散开发** — 没有明确目标地到处修改代码
|
|
32
48
|
- **设计与代码脱节** — 文档和代码随着时间推移越来越不一致
|
|
33
49
|
- **遗忘的教训** — 辛苦获得的经验教训无法带到下一次工作中
|
|
50
|
+
- **协作混乱** — 多个开发者或代理并行工作时冲突频发,合并变成噩梦
|
|
34
51
|
|
|
35
52
|
REAP通过**基于世代的进化模型**解决这些问题:
|
|
36
53
|
|
|
@@ -39,6 +56,7 @@ REAP通过**基于世代的进化模型**解决这些问题:
|
|
|
39
56
|
- 实现过程中发现的设计问题记录在backlog中,在Completion时反映
|
|
40
57
|
- 回顾(Completion)中提取的教训积累在Genome中
|
|
41
58
|
- 跨世代自动检测重复的手动操作,经用户确认后生成Hook
|
|
59
|
+
- 跨分支的并行工作通过genome-first合并工作流进行协调 — 先解决设计冲突,再解决代码冲突
|
|
42
60
|
|
|
43
61
|
## 安装
|
|
44
62
|
|
|
@@ -146,6 +164,55 @@ Objective → Planning → Implementation ⟷ Validation → Completion
|
|
|
146
164
|
└── lineage/ # 已完成世代的归档
|
|
147
165
|
```
|
|
148
166
|
|
|
167
|
+
## 分布式工作流 — 并行开发
|
|
168
|
+
|
|
169
|
+
> **⚠ 早期阶段** — 分布式工作流需要进一步测试。请在生产环境中谨慎使用。我们正在收集反馈 — [提交Issue](https://github.com/c-d-cc/reap/issues)。
|
|
170
|
+
|
|
171
|
+
REAP支持多个开发者或AI代理在同一项目中并行工作的分布式协作,无需中央服务器,Git是唯一的传输层。
|
|
172
|
+
|
|
173
|
+
### 工作原理
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
Machine A: branch-a — gen-046-a (authentication) → /reap.push
|
|
177
|
+
Machine B: branch-b — gen-046-b (search) → /reap.push
|
|
178
|
+
|
|
179
|
+
Machine A:
|
|
180
|
+
/reap.pull branch-b → Fetch + 运行完整的合并Generation生命周期
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
每台机器在自己的分支和Generation上独立工作。需要合并时,REAP通过**genome-first**策略来协调([了解更多](https://reap.cc/docs/merge-generation)):
|
|
184
|
+
|
|
185
|
+
1. **Detect** — 通过git ref扫描远程分支的genome和lineage,识别分歧点
|
|
186
|
+
2. **Mate** — 首先解决Genome冲突(由人工判断)
|
|
187
|
+
3. **Merge** — 以确定的Genome为基准合并源代码(`git merge --no-commit`)
|
|
188
|
+
4. **Sync** — AI比较Genome和源代码的一致性;发现不一致时由用户确认
|
|
189
|
+
5. **Validation** — 运行机械化测试(bun test、tsc、build)— 与正常Generation相同
|
|
190
|
+
6. **Completion** — 提交合并结果并归档
|
|
191
|
+
|
|
192
|
+
### 分布式工作流斜杠命令
|
|
193
|
+
|
|
194
|
+
所有分布式操作通过AI代理执行:
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
/reap.pull <branch> # Fetch + 运行完整合并Generation(分布式 /reap.evolve)
|
|
198
|
+
/reap.merge <branch> # 本地分支完整合并Generation(无需fetch)
|
|
199
|
+
/reap.push # 验证REAP状态 + push当前分支
|
|
200
|
+
/reap.merge.start # 启动合并Generation(用于逐步控制)
|
|
201
|
+
/reap.merge.detect # 分析分歧
|
|
202
|
+
/reap.merge.mate # 解决Genome冲突
|
|
203
|
+
/reap.merge.merge # 合并源代码
|
|
204
|
+
/reap.merge.sync # 验证Genome-源代码一致性
|
|
205
|
+
/reap.merge.validation # 运行机械化测试(bun test、tsc、build)
|
|
206
|
+
/reap.merge.evolve # 从当前阶段运行合并生命周期
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### 核心原则
|
|
210
|
+
|
|
211
|
+
- **Opt-in** — `git pull`/`push`始终正常工作。REAP命令是附加的。
|
|
212
|
+
- **Genome-first** — 在源代码合并之前先解决Genome冲突。就像先修宪再修法。
|
|
213
|
+
- **无需服务器** — 一切基于本地 + Git,无需外部服务。
|
|
214
|
+
- **DAG lineage** — 每个世代通过基于哈希的ID(`gen-046-a3f8c2`)引用其父代,形成有向无环图,天然支持并行工作。
|
|
215
|
+
|
|
149
216
|
## CLI命令
|
|
150
217
|
|
|
151
218
|
| 命令 | 说明 |
|
|
@@ -187,6 +254,16 @@ REAP通过斜杠命令和会话钩子与AI代理集成。当前支持的代理
|
|
|
187
254
|
| `/reap.help` | 24+主题的上下文AI帮助(workflow, genome, backlog, strict, agents, hooks, config, evolve, regression, author及所有命令名) |
|
|
188
255
|
| `/reap.update` | 检查REAP更新并升级到最新版本 |
|
|
189
256
|
| **`/reap.evolve`** | **从头到尾运行一个完整的Generation(推荐)** |
|
|
257
|
+
| **`/reap.pull <branch>`** | **Fetch + 运行完整合并Generation(分布式 `/reap.evolve`)** |
|
|
258
|
+
| **`/reap.merge <branch>`** | **本地分支完整合并Generation(无需fetch)** |
|
|
259
|
+
| `/reap.push` | 验证REAP状态并push当前分支 |
|
|
260
|
+
| `/reap.merge.start` | 启动合并Generation以整合分歧分支 |
|
|
261
|
+
| `/reap.merge.detect` | 分析分支间的分歧 |
|
|
262
|
+
| `/reap.merge.mate` | 在源代码合并前解决Genome冲突 |
|
|
263
|
+
| `/reap.merge.merge` | 以解决后的Genome为指导合并源代码 |
|
|
264
|
+
| `/reap.merge.sync` | 验证Genome与源代码的一致性(AI比较,用户确认) |
|
|
265
|
+
| `/reap.merge.validation` | 运行机械化测试(bun test、tsc、build) |
|
|
266
|
+
| **`/reap.merge.evolve`** | **自动运行完整的合并生命周期** |
|
|
190
267
|
|
|
191
268
|
### SessionStart Hook
|
|
192
269
|
|
|
@@ -202,24 +279,30 @@ REAP通过斜杠命令和会话钩子与AI代理集成。当前支持的代理
|
|
|
202
279
|
|
|
203
280
|
### Strict模式
|
|
204
281
|
|
|
205
|
-
|
|
282
|
+
Strict模式控制AI代理被允许执行的操作。支持两个细粒度选项:
|
|
206
283
|
|
|
207
284
|
```yaml
|
|
208
285
|
# .reap/config.yml
|
|
209
|
-
strict: true
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
286
|
+
strict: true # 简写:同时启用edit和merge
|
|
287
|
+
|
|
288
|
+
# 或细粒度控制:
|
|
289
|
+
strict:
|
|
290
|
+
edit: true # 将代码修改限制在REAP生命周期内
|
|
291
|
+
merge: false # 限制直接的git pull/push/merge
|
|
215
292
|
```
|
|
216
293
|
|
|
294
|
+
**`strict.edit`** — 代码修改控制:
|
|
295
|
+
|
|
217
296
|
| 情境 | 行为 |
|
|
218
297
|
|------|------|
|
|
219
298
|
| 无活跃Generation / 非实现阶段 | 代码修改完全阻止 |
|
|
220
299
|
| Implementation阶段 | 仅允许`02-planning.md`范围内的修改 |
|
|
221
300
|
| 逃生舱 | 用户明确请求"override"或"bypass strict"时允许 |
|
|
222
301
|
|
|
302
|
+
**`strict.merge`** — Git命令控制:启用后,直接使用`git pull`/`push`/`merge`将被限制。代理会引导用户使用`/reap.pull`、`/reap.push`、`/reap.merge`。
|
|
303
|
+
|
|
304
|
+
两者默认都禁用。`strict: true`同时启用两者。
|
|
305
|
+
|
|
223
306
|
Strict模式默认禁用(`strict: false`)。
|
|
224
307
|
|
|
225
308
|
### REAP Hooks
|
|
@@ -253,6 +336,9 @@ order: 10 # 执行顺序(数值越小越先执行)
|
|
|
253
336
|
| `onStageTransition` | `/reap.next`前进到下一阶段后 |
|
|
254
337
|
| `onGenerationComplete` | `/reap.next`归档已完成的Generation后 |
|
|
255
338
|
| `onRegression` | `/reap.back`回到前一阶段后 |
|
|
339
|
+
| `onMergeStart` | `/reap.merge.start`创建合并Generation后 |
|
|
340
|
+
| `onGenomeResolved` | 合并过程中Genome冲突解决完成后 |
|
|
341
|
+
| `onMergeComplete` | 合并Generation归档后 |
|
|
256
342
|
|
|
257
343
|
Hook由AI代理在项目根目录中执行。`onGenerationComplete` Hook包含自动版本号升级判断 — patch级别自动应用,minor/major级别需要用户确认。
|
|
258
344
|
|