@c-d-cc/reap 0.1.1 → 0.1.3

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 ADDED
@@ -0,0 +1,315 @@
1
+ <p align="center">
2
+ <img src="media/logo.png" alt="REAP" width="80" height="80" />
3
+ </p>
4
+
5
+ <h1 align="center">REAP</h1>
6
+
7
+ <p align="center">
8
+ <strong>Recursive Evolutionary Autonomous Pipeline</strong><br>
9
+ AIと人間がGenerationを重ねてソフトウェアを進化させる開発パイプライン。
10
+ </p>
11
+
12
+ > [English](README.md) | [한국어](README.ko.md) | [简体中文](README.zh-CN.md)
13
+
14
+ <table align="center">
15
+ <tr>
16
+ <td align="center"><strong>Genome</strong><br><sub>設計とナレッジ</sub></td>
17
+ <td align="center">→</td>
18
+ <td align="center"><strong>Evolution</strong><br><sub>世代を超えた進化</sub></td>
19
+ <td align="center">→</td>
20
+ <td align="center"><strong>Civilization</strong><br><sub>Source Code</sub></td>
21
+ </tr>
22
+ </table>
23
+
24
+ REAPはアプリケーションの遺伝情報(Genome)を定義し、各世代で目標を設定して実装し、その過程で発見したGenomeの欠陥を次のステージにフィードバックします。世代を重ねるごとにGenomeが進化し、Source Code(Civilization)が成長します。
25
+
26
+ ## なぜREAPか?
27
+
28
+ AIエージェントと開発する際、こんな問題に遭遇したことはありませんか?
29
+
30
+ - **コンテキストの喪失** — 新しいセッションを開くとエージェントがプロジェクトのコンテキストを忘れる
31
+ - **散発的な開発** — 明確な目標なくあちこちのコードを修正
32
+ - **設計とコードの乖離** — ドキュメントとコードが時間とともに離れていく
33
+ - **教訓の忘却** — 苦労して得たインサイトが次の作業に反映されない
34
+
35
+ REAPは**世代ベースの進化モデル**でこれらの問題を解決します:
36
+
37
+ - 各世代は一つの目標に集中(Objective → Completion)
38
+ - AIエージェントが毎セッション開始時に現在のコンテキストを自動認識(SessionStart Hook)
39
+ - 実装中に発見した設計問題はbacklogに記録、Completionで反映
40
+ - レトロスペクティブ(Completion)で導き出した教訓がGenomeに蓄積
41
+
42
+ ## インストール
43
+
44
+ ```bash
45
+ # npm
46
+ npm install -g @c-d-cc/reap
47
+
48
+ # または Bun
49
+ bun install -g @c-d-cc/reap
50
+ ```
51
+
52
+ > **要件**: [Node.js](https://nodejs.org) v18+、[Claude Code](https://claude.ai/claude-code) CLI。[Bun](https://bun.sh)はオプションです。
53
+
54
+ ## クイックスタート
55
+
56
+ ```bash
57
+ # 1. プロジェクトの初期化
58
+
59
+ # 新規プロジェクト
60
+ reap init my-project
61
+
62
+ # 既存プロジェクト
63
+ cd my-project
64
+ reap init
65
+
66
+ # 2. Claude Codeで1つのGeneration全体を実行
67
+ claude
68
+ > /reap.evolve "ユーザー認証の実装"
69
+ ```
70
+
71
+ `/reap.evolve`は1つのGenerationのライフサイクル全体を — ObjectiveからCompletionまで — ユーザーと対話しながら自動実行します。Generation作成、各ステージの実行、ステージ間の前進をすべて処理します。日常の開発で最も多く使う中心的なコマンドです。
72
+
73
+ より細かい制御が必要な場合は、各ステージを手動で進めることもできます:
74
+
75
+ ```bash
76
+ > /reap.start # 新しいGenerationを開始
77
+ > /reap.objective # 目標 + 仕様を定義
78
+ > /reap.next # 次のステージへ前進
79
+ > /reap.planning # 実装計画
80
+ > /reap.next
81
+ > /reap.implementation # AI+Human協力でコード実装
82
+ > ...
83
+ ```
84
+
85
+ ## ライフサイクル
86
+
87
+ 各Generation(世代)は5段階のライフサイクルを経ます:
88
+
89
+ ```
90
+ Objective → Planning → Implementation ⟷ Validation → Completion
91
+ (目標定義) (計画) (実装) (検証) (完了)
92
+ ```
93
+
94
+ | ステージ | 内容 | 成果物 |
95
+ |----------|------|--------|
96
+ | **Objective** | 目標 + 要件 + 受入基準の定義 | `01-objective.md` |
97
+ | **Planning** | タスク分解、実装アプローチ、依存関係 | `02-planning.md` |
98
+ | **Implementation** | AI+Human協力でコード実装 | `03-implementation.md` |
99
+ | **Validation** | テスト実行、完了条件の確認 | `04-validation.md` |
100
+ | **Completion** | レトロスペクティブ + Genome変更反映 + アーカイブ | `05-completion.md` |
101
+
102
+ ## コアコンセプト
103
+
104
+ ### Genome
105
+
106
+ アプリケーションの遺伝情報 — アーキテクチャ原則、ビジネスルール、開発コンベンション、技術制約の集合。
107
+
108
+ ```
109
+ .reap/genome/
110
+ ├── principles.md # アーキテクチャ原則/決定
111
+ ├── domain/ # ビジネスルール(モジュール別)
112
+ ├── conventions.md # 開発ルール/コンベンション
113
+ └── constraints.md # 技術制約/選択
114
+ ```
115
+
116
+ **Genome不変原則**: 現在の世代ではGenomeを直接変更しません。問題を発見した場合はbacklogに記録し、Completionステージでのみ反映します。
117
+
118
+ **Environment不変原則**: 現在の世代ではEnvironmentを直接変更しません。外部環境の変化を発見した場合はbacklogに記録し、Completionステージで反映します。
119
+
120
+ ### Backlog
121
+
122
+ `.reap/life/backlog/`に次に反映するすべての項目を保存します。各項目はmarkdown + frontmatter形式:
123
+
124
+ - `type: genome-change` — CompletionでGenomeに反映
125
+ - `type: environment-change` — CompletionでEnvironmentに反映
126
+ - `type: task` — 次のObjectiveでのgoal候補(deferredタスク、技術的負債など)
127
+
128
+ 各項目は`status`フィールドも持ちます:
129
+
130
+ - `status: pending` — 未処理項目(デフォルト)
131
+ - `status: consumed` — 現在の世代で処理完了(`consumedBy: gen-XXX`必須)
132
+
133
+ アーカイブ時点(`/reap.next` from Completion)で`consumed`項目はlineageに移動し、`pending`項目は次の世代のbacklogに繰り越されます。
134
+
135
+ **部分完了は正常** — Genome変更に依存するタスクは`[deferred]`とマークし、次の世代に引き継ぎます。
136
+
137
+ ### 4軸構造
138
+
139
+ ```
140
+ .reap/
141
+ ├── genome/ # 遺伝情報(世代を超えて進化)
142
+ ├── environment/ # 外部環境(APIドキュメント、インフラ、ビジネス制約)
143
+ ├── life/ # 現在の世代の状態と成果物
144
+ └── lineage/ # 完了した世代のアーカイブ
145
+ ```
146
+
147
+ ## CLIコマンド
148
+
149
+ | コマンド | 説明 |
150
+ |----------|------|
151
+ | `reap init <name>` | プロジェクト初期化。`.reap/`構造を作成 |
152
+ | `reap status` | 現在のGeneration状態を確認 |
153
+ | `reap update` | コマンド/テンプレート/hookを最新バージョンに同期 |
154
+ | `reap fix` | `.reap/`構造の診断と修復 |
155
+ | `reap help` | CLIコマンド + スラッシュコマンド + ワークフロー概要を出力 |
156
+
157
+ ### オプション
158
+
159
+ ```bash
160
+ reap init my-project --mode adoption # 既存プロジェクトにREAPを適用
161
+ reap init my-project --preset bun-hono-react # プリセットでGenomeを初期化
162
+ reap update --dry-run # 変更のプレビュー
163
+ ```
164
+
165
+ ## Claude Code連携
166
+
167
+ REAPはClaude Codeの2つのメカニズムでAIエージェントと統合します:
168
+
169
+ ### スラッシュコマンド
170
+
171
+ スラッシュコマンドが`.claude/commands/`にインストールされ、ワークフロー全体を駆動します:
172
+
173
+ | コマンド | 説明 |
174
+ |----------|------|
175
+ | `/reap.start` | 新しいGenerationを開始 |
176
+ | `/reap.objective` | 目標 + 要件の定義 |
177
+ | `/reap.planning` | タスク分解 + 実装計画 |
178
+ | `/reap.implementation` | AI+Human協力でコード実装 |
179
+ | `/reap.validation` | テスト実行、完了条件の確認 |
180
+ | `/reap.completion` | レトロスペクティブ + Genome変更反映 |
181
+ | `/reap.next` | 次のライフサイクルステージへ前進 |
182
+ | `/reap.back` | 前のステージに回帰(micro loop) |
183
+ | `/reap.status` | 現在のGeneration状態とプロジェクト健全性を表示 |
184
+ | `/reap.sync` | ソースコードベースでGenomeを最新化 |
185
+ | `/reap.help` | 現在の状態に応じたcontextual AIヘルプ(topic: workflow, commands, strict, genome, backlog) |
186
+ | **`/reap.evolve`** | **1つのGeneration全体を最初から最後まで実行(推奨)** |
187
+
188
+ ### SessionStart Hook
189
+
190
+ 毎セッション開始時に自動実行され、AIエージェントに以下を注入します:
191
+
192
+ - REAPワークフロー全体のガイド(Genome、ライフサイクル、4軸構造など)
193
+ - 現在のGeneration状態(どのステージにいるか、次に何をすべきか)
194
+ - REAPライフサイクルに従うルール
195
+
196
+ これにより、新しいセッションを開いてもエージェントがプロジェクトコンテキストを即座に把握します。
197
+
198
+ ### Strictモード
199
+
200
+ `.reap/config.yml`に`strict: true`を設定すると、AIエージェントがREAPワークフロー外でコードを変更することを制限します:
201
+
202
+ ```yaml
203
+ # .reap/config.yml
204
+ strict: true # デフォルト: false
205
+ ```
206
+
207
+ | 状況 | 動作 |
208
+ |------|------|
209
+ | アクティブGenerationなし / 実装ステージ外 | コード変更は完全にブロック |
210
+ | Implementationステージ | `02-planning.md`の範囲内でのみ変更許可 |
211
+ | エスケープハッチ | ユーザーが「override」「bypass strict」等を明示的に要求した場合に許可 |
212
+
213
+ Strictモードはデフォルトで無効です(`strict: false`)。
214
+
215
+ ### REAP Hooks
216
+
217
+ `.reap/config.yml`にhookを定義して、ライフサイクルイベントでコマンドやAIプロンプトを実行できます:
218
+
219
+ ```yaml
220
+ hooks:
221
+ onGenerationStart:
222
+ - command: "echo 'Generation started'"
223
+ onStageTransition:
224
+ - command: "echo 'Stage changed'"
225
+ onGenerationComplete:
226
+ - command: "reap update"
227
+ - prompt: "今回のGenerationで変更された機能があればREADMEに反映せよ。"
228
+ onRegression:
229
+ - command: "echo 'Regressed'"
230
+ ```
231
+
232
+ 各hookは`command`(シェルコマンド)または`prompt`(AIエージェント指示)のいずれかを使用します。
233
+
234
+ | イベント | トリガー |
235
+ |----------|----------|
236
+ | `onGenerationStart` | `/reap.start`で新しいGeneration作成後 |
237
+ | `onStageTransition` | `/reap.next`で次のステージに前進後 |
238
+ | `onGenerationComplete` | `/reap.next`で完了したGenerationをアーカイブ後 |
239
+ | `onRegression` | `/reap.back`で前のステージに回帰後 |
240
+
241
+ HookはAIエージェントがプロジェクトルートディレクトリで実行します。
242
+
243
+ ## `reap init`後のプロジェクト構造
244
+
245
+ ```
246
+ my-project/
247
+ ├── src/ # Civilization(ソースコード)
248
+ └── .reap/
249
+ ├── config.yml # プロジェクト設定
250
+ ├── genome/ # 遺伝情報
251
+ │ ├── principles.md
252
+ │ ├── domain/
253
+ │ ├── conventions.md
254
+ │ └── constraints.md
255
+ ├── environment/ # 外部環境
256
+ ├── life/ # 現在の世代
257
+ │ ├── current.yml
258
+ │ └── backlog/
259
+ └── lineage/ # 完了した世代のアーカイブ
260
+
261
+ ~/.claude/ # ユーザーレベル(reap initでインストール)
262
+ ├── commands/ # スラッシュコマンド(/reap.*)
263
+ └── settings.json # SessionStart hookの登録
264
+ ```
265
+
266
+ ## 系譜圧縮(Lineage Compression)
267
+
268
+ 世代が蓄積されるとlineageディレクトリが大きくなります。REAPは自動2段階圧縮でこれを管理します:
269
+
270
+ | レベル | 入力 | 出力 | 最大行数 | トリガー |
271
+ |--------|------|------|----------|----------|
272
+ | **Level 1** | 世代フォルダ(5つの成果物) | `gen-XXX.md` | 40行 | lineage > 10,000行 + 5世代以上 |
273
+ | **Level 2** | Level 1ファイル5つ | `epoch-XXX.md` | 60行 | Level 1が5つ以上 |
274
+
275
+ 圧縮は世代完了時に自動実行されます。圧縮されたファイルは目標(Objective)と結果(Completion)を中心に保存し、中間過程は特記事項のみを残します。
276
+
277
+ ## 進化フロー(Evolution Flow)
278
+
279
+ ```
280
+ Generation #1 (Genome v1)
281
+ → Objective: "ユーザー認証の実装"
282
+ → Planning → Implementation
283
+ → Implementation中にOAuth2の必要性を発見 → backlogにgenome-changeを記録
284
+ → Validation (partial)
285
+ → Completion → レトロスペクティブ + genome反映 → Genome v2 → アーカイブ
286
+
287
+ Generation #2 (Genome v2)
288
+ → Objective: "OAuth2連携 + 権限管理"
289
+ → 前世代のdeferredタスク + 新しい目標
290
+ → ...
291
+ ```
292
+
293
+ ## プリセット(Presets)
294
+
295
+ `reap init --preset`で技術スタックに合ったGenome初期設定を適用できます。
296
+
297
+ | プリセット | スタック |
298
+ |------------|----------|
299
+ | `bun-hono-react` | Bun + Hono + React |
300
+
301
+ ```bash
302
+ reap init my-project --preset bun-hono-react
303
+ ```
304
+
305
+ ## エントリーモード(Entry Modes)
306
+
307
+ | モード | 説明 |
308
+ |--------|------|
309
+ | `greenfield` | ゼロから新しいプロジェクトを構築(デフォルト) |
310
+ | `migration` | 既存システムを参照しながら新規構築 |
311
+ | `adoption` | 既存コードベースにREAPを適用 |
312
+
313
+ ## ライセンス
314
+
315
+ MIT
package/README.ko.md CHANGED
@@ -9,7 +9,7 @@
9
9
  AI와 인간이 세대(Generation)를 거듭하며 소프트웨어를 진화시키는 개발 파이프라인.
10
10
  </p>
11
11
 
12
- > For English version, see [README.md](README.md).
12
+ > [English](README.md) | [日本語](README.ja.md) | [简体中文](README.zh-CN.md)
13
13
 
14
14
  <table align="center">
15
15
  <tr>
@@ -49,7 +49,7 @@ npm install -g @c-d-cc/reap
49
49
  bun install -g @c-d-cc/reap
50
50
  ```
51
51
 
52
- > **요구사항**: [Bun](https://bun.sh) 런타임, [Claude Code](https://claude.ai/claude-code) CLI
52
+ > **요구사항**: [Node.js](https://nodejs.org) v18+, [Claude Code](https://claude.ai/claude-code) CLI. [Bun](https://bun.sh)은 선택사항.
53
53
 
54
54
  ## 빠른 시작
55
55
 
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  A development pipeline where AI and humans evolve software across generations.
10
10
  </p>
11
11
 
12
- > 한국어 버전은 [README.ko.md](README.ko.md)를 참조하세요.
12
+ > [한국어](README.ko.md) | [日本語](README.ja.md) | [简体中文](README.zh-CN.md)
13
13
 
14
14
  <table align="center">
15
15
  <tr>
@@ -49,7 +49,7 @@ npm install -g @c-d-cc/reap
49
49
  bun install -g @c-d-cc/reap
50
50
  ```
51
51
 
52
- > **Requirements**: [Bun](https://bun.sh) runtime, [Claude Code](https://claude.ai/claude-code) CLI
52
+ > **Requirements**: [Node.js](https://nodejs.org) v18+, [Claude Code](https://claude.ai/claude-code) CLI. [Bun](https://bun.sh) is optional.
53
53
 
54
54
  ## Quick Start
55
55
 
@@ -0,0 +1,315 @@
1
+ <p align="center">
2
+ <img src="media/logo.png" alt="REAP" width="80" height="80" />
3
+ </p>
4
+
5
+ <h1 align="center">REAP</h1>
6
+
7
+ <p align="center">
8
+ <strong>Recursive Evolutionary Autonomous Pipeline</strong><br>
9
+ AI与人类通过迭代Generation来进化软件的开发管线。
10
+ </p>
11
+
12
+ > [English](README.md) | [한국어](README.ko.md) | [日本語](README.ja.md)
13
+
14
+ <table align="center">
15
+ <tr>
16
+ <td align="center"><strong>Genome</strong><br><sub>设计与知识</sub></td>
17
+ <td align="center">→</td>
18
+ <td align="center"><strong>Evolution</strong><br><sub>代际进化</sub></td>
19
+ <td align="center">→</td>
20
+ <td align="center"><strong>Civilization</strong><br><sub>Source Code</sub></td>
21
+ </tr>
22
+ </table>
23
+
24
+ REAP定义应用程序的遗传信息(Genome),为每个世代设定目标进行实现,并将过程中发现的Genome缺陷反馈到后续阶段。随着世代的积累,Genome不断进化,Source Code(Civilization)持续成长。
25
+
26
+ ## 为什么选择REAP?
27
+
28
+ 在使用AI代理进行开发时,你是否遇到过这些问题?
29
+
30
+ - **上下文丢失** — 每次开启新会话,代理就会忘记项目上下文
31
+ - **分散开发** — 没有明确目标地到处修改代码
32
+ - **设计与代码脱节** — 文档和代码随着时间推移越来越不一致
33
+ - **遗忘的教训** — 辛苦获得的经验教训无法带到下一次工作中
34
+
35
+ REAP通过**基于世代的进化模型**解决这些问题:
36
+
37
+ - 每个世代专注于一个目标(Objective → Completion)
38
+ - AI代理在每次会话开始时自动获取当前上下文(SessionStart Hook)
39
+ - 实现过程中发现的设计问题记录在backlog中,在Completion时反映
40
+ - 回顾(Completion)中提取的教训积累在Genome中
41
+
42
+ ## 安装
43
+
44
+ ```bash
45
+ # npm
46
+ npm install -g @c-d-cc/reap
47
+
48
+ # 或 Bun
49
+ bun install -g @c-d-cc/reap
50
+ ```
51
+
52
+ > **要求**:[Node.js](https://nodejs.org) v18+,[Claude Code](https://claude.ai/claude-code) CLI。[Bun](https://bun.sh)是可选的。
53
+
54
+ ## 快速开始
55
+
56
+ ```bash
57
+ # 1. 初始化项目
58
+
59
+ # 新项目
60
+ reap init my-project
61
+
62
+ # 现有项目
63
+ cd my-project
64
+ reap init
65
+
66
+ # 2. 在Claude Code中运行一个完整的Generation
67
+ claude
68
+ > /reap.evolve "实现用户认证"
69
+ ```
70
+
71
+ `/reap.evolve`会自动运行一个Generation的完整生命周期 — 从Objective到Completion — 与用户交互式进行。它处理Generation的创建、每个阶段的执行以及阶段间的推进。这是日常开发中最常用的核心命令。
72
+
73
+ 如果需要更精细的控制,也可以手动推进每个阶段:
74
+
75
+ ```bash
76
+ > /reap.start # 开始新的Generation
77
+ > /reap.objective # 定义目标 + 规格
78
+ > /reap.next # 前进到下一阶段
79
+ > /reap.planning # 实施计划
80
+ > /reap.next
81
+ > /reap.implementation # AI+人类协作编写代码
82
+ > ...
83
+ ```
84
+
85
+ ## 生命周期
86
+
87
+ 每个Generation经历5个阶段的生命周期:
88
+
89
+ ```
90
+ Objective → Planning → Implementation ⟷ Validation → Completion
91
+ (目标定义) (计划) (实现) (验证) (完成)
92
+ ```
93
+
94
+ | 阶段 | 内容 | 产出物 |
95
+ |------|------|--------|
96
+ | **Objective** | 定义目标 + 需求 + 验收标准 | `01-objective.md` |
97
+ | **Planning** | 任务分解、实施方案、依赖关系 | `02-planning.md` |
98
+ | **Implementation** | AI+人类协作编写代码 | `03-implementation.md` |
99
+ | **Validation** | 执行测试、检查完成条件 | `04-validation.md` |
100
+ | **Completion** | 回顾 + 应用Genome变更 + 归档 | `05-completion.md` |
101
+
102
+ ## 核心概念
103
+
104
+ ### Genome
105
+
106
+ 应用程序的遗传信息 — 架构原则、业务规则、开发约定、技术约束的集合。
107
+
108
+ ```
109
+ .reap/genome/
110
+ ├── principles.md # 架构原则/决策
111
+ ├── domain/ # 业务规则(按模块)
112
+ ├── conventions.md # 开发规则/约定
113
+ └── constraints.md # 技术约束/选择
114
+ ```
115
+
116
+ **Genome不变原则**:当前世代不直接修改Genome。发现问题时记录在backlog中,仅在Completion阶段反映。
117
+
118
+ **Environment不变原则**:当前世代不直接修改Environment。发现外部环境变化时记录在backlog中,在Completion阶段反映。
119
+
120
+ ### Backlog
121
+
122
+ `.reap/life/backlog/`中存储所有待反映的项目。每个项目使用markdown + frontmatter格式:
123
+
124
+ - `type: genome-change` — 在Completion时应用到Genome
125
+ - `type: environment-change` — 在Completion时应用到Environment
126
+ - `type: task` — 下一个Objective的目标候选(延期任务、技术债务等)
127
+
128
+ 每个项目还有`status`字段:
129
+
130
+ - `status: pending` — 未处理项目(默认)
131
+ - `status: consumed` — 在当前世代中已处理(需要`consumedBy: gen-XXX`)
132
+
133
+ 归档时(`/reap.next` from Completion),`consumed`项目移至lineage,`pending`项目结转到下一个世代的backlog。
134
+
135
+ **部分完成是正常的** — 依赖Genome变更的任务标记为`[deferred]`并交接到下一个世代。
136
+
137
+ ### 四轴结构
138
+
139
+ ```
140
+ .reap/
141
+ ├── genome/ # 遗传信息(跨世代进化)
142
+ ├── environment/ # 外部环境(API文档、基础设施、业务约束)
143
+ ├── life/ # 当前世代的状态和产出物
144
+ └── lineage/ # 已完成世代的归档
145
+ ```
146
+
147
+ ## CLI命令
148
+
149
+ | 命令 | 说明 |
150
+ |------|------|
151
+ | `reap init <name>` | 初始化项目。创建`.reap/`结构 |
152
+ | `reap status` | 查看当前Generation状态 |
153
+ | `reap update` | 将命令/模板/hook同步到最新版本 |
154
+ | `reap fix` | 诊断和修复`.reap/`结构 |
155
+ | `reap help` | 输出CLI命令 + 斜杠命令 + 工作流摘要 |
156
+
157
+ ### 选项
158
+
159
+ ```bash
160
+ reap init my-project --mode adoption # 将REAP应用到现有项目
161
+ reap init my-project --preset bun-hono-react # 使用预设初始化Genome
162
+ reap update --dry-run # 预览变更
163
+ ```
164
+
165
+ ## Claude Code集成
166
+
167
+ REAP通过Claude Code的两种机制与AI代理集成:
168
+
169
+ ### 斜杠命令
170
+
171
+ 斜杠命令安装在`.claude/commands/`中,驱动整个工作流:
172
+
173
+ | 命令 | 说明 |
174
+ |------|------|
175
+ | `/reap.start` | 开始新的Generation |
176
+ | `/reap.objective` | 定义目标 + 需求 |
177
+ | `/reap.planning` | 任务分解 + 实施计划 |
178
+ | `/reap.implementation` | AI+人类协作编写代码 |
179
+ | `/reap.validation` | 执行测试、检查完成条件 |
180
+ | `/reap.completion` | 回顾 + 应用Genome变更 |
181
+ | `/reap.next` | 前进到下一个生命周期阶段 |
182
+ | `/reap.back` | 回到前一个阶段(micro loop) |
183
+ | `/reap.status` | 显示当前Generation状态和项目健康度 |
184
+ | `/reap.sync` | 基于源代码同步Genome |
185
+ | `/reap.help` | 基于当前状态的上下文AI帮助(topic: workflow, commands, strict, genome, backlog) |
186
+ | **`/reap.evolve`** | **从头到尾运行一个完整的Generation(推荐)** |
187
+
188
+ ### SessionStart Hook
189
+
190
+ 每次会话开始时自动运行,向AI代理注入以下内容:
191
+
192
+ - REAP工作流完整指南(Genome、生命周期、四轴结构等)
193
+ - 当前Generation状态(在哪个阶段、下一步做什么)
194
+ - 遵循REAP生命周期的规则
195
+
196
+ 这确保即使打开新会话,代理也能立即理解项目上下文。
197
+
198
+ ### Strict模式
199
+
200
+ 在`.reap/config.yml`中设置`strict: true`可以限制AI代理在REAP工作流之外修改代码:
201
+
202
+ ```yaml
203
+ # .reap/config.yml
204
+ strict: true # 默认:false
205
+ ```
206
+
207
+ | 情境 | 行为 |
208
+ |------|------|
209
+ | 无活跃Generation / 非实现阶段 | 代码修改完全阻止 |
210
+ | Implementation阶段 | 仅允许`02-planning.md`范围内的修改 |
211
+ | 逃生舱 | 用户明确请求"override"或"bypass strict"时允许 |
212
+
213
+ Strict模式默认禁用(`strict: false`)。
214
+
215
+ ### REAP Hooks
216
+
217
+ 在`.reap/config.yml`中定义hook,在生命周期事件时执行命令或AI提示:
218
+
219
+ ```yaml
220
+ hooks:
221
+ onGenerationStart:
222
+ - command: "echo 'Generation started'"
223
+ onStageTransition:
224
+ - command: "echo 'Stage changed'"
225
+ onGenerationComplete:
226
+ - command: "reap update"
227
+ - prompt: "如果本Generation有功能变更,请更新README。"
228
+ onRegression:
229
+ - command: "echo 'Regressed'"
230
+ ```
231
+
232
+ 每个hook使用`command`(shell命令)或`prompt`(AI代理指令)之一。
233
+
234
+ | 事件 | 触发时机 |
235
+ |------|----------|
236
+ | `onGenerationStart` | `/reap.start`创建新Generation后 |
237
+ | `onStageTransition` | `/reap.next`前进到下一阶段后 |
238
+ | `onGenerationComplete` | `/reap.next`归档已完成的Generation后 |
239
+ | `onRegression` | `/reap.back`回到前一阶段后 |
240
+
241
+ Hook由AI代理在项目根目录中执行。
242
+
243
+ ## `reap init`后的项目结构
244
+
245
+ ```
246
+ my-project/
247
+ ├── src/ # Civilization(源代码)
248
+ └── .reap/
249
+ ├── config.yml # 项目配置
250
+ ├── genome/ # 遗传信息
251
+ │ ├── principles.md
252
+ │ ├── domain/
253
+ │ ├── conventions.md
254
+ │ └── constraints.md
255
+ ├── environment/ # 外部环境
256
+ ├── life/ # 当前世代
257
+ │ ├── current.yml
258
+ │ └── backlog/
259
+ └── lineage/ # 已完成世代的归档
260
+
261
+ ~/.claude/ # 用户级别(reap init时安装)
262
+ ├── commands/ # 斜杠命令(/reap.*)
263
+ └── settings.json # SessionStart hook注册
264
+ ```
265
+
266
+ ## 谱系压缩(Lineage Compression)
267
+
268
+ 随着世代的积累,lineage目录会变大。REAP通过自动两级压缩来管理:
269
+
270
+ | 级别 | 输入 | 输出 | 最大行数 | 触发条件 |
271
+ |------|------|------|----------|----------|
272
+ | **Level 1** | 世代文件夹(5个产出物) | `gen-XXX.md` | 40行 | lineage > 10,000行 + 5个以上世代 |
273
+ | **Level 2** | 5个Level 1文件 | `epoch-XXX.md` | 60行 | Level 1达到5个以上 |
274
+
275
+ 压缩在世代完成时自动执行。压缩后的文件以目标(Objective)和结果(Completion)为中心保存,中间过程仅保留特别事项。
276
+
277
+ ## 进化流程(Evolution Flow)
278
+
279
+ ```
280
+ Generation #1 (Genome v1)
281
+ → Objective: "实现用户认证"
282
+ → Planning → Implementation
283
+ → Implementation中发现需要OAuth2 → 在backlog中记录genome-change
284
+ → Validation (partial)
285
+ → Completion → 回顾 + genome反映 → Genome v2 → 归档
286
+
287
+ Generation #2 (Genome v2)
288
+ → Objective: "OAuth2集成 + 权限管理"
289
+ → 上一世代的延期任务 + 新目标
290
+ → ...
291
+ ```
292
+
293
+ ## 预设(Presets)
294
+
295
+ 使用`reap init --preset`应用适合技术栈的Genome初始配置。
296
+
297
+ | 预设 | 技术栈 |
298
+ |------|--------|
299
+ | `bun-hono-react` | Bun + Hono + React |
300
+
301
+ ```bash
302
+ reap init my-project --preset bun-hono-react
303
+ ```
304
+
305
+ ## 入口模式(Entry Modes)
306
+
307
+ | 模式 | 说明 |
308
+ |------|------|
309
+ | `greenfield` | 从零开始构建新项目(默认) |
310
+ | `migration` | 参考现有系统进行新建 |
311
+ | `adoption` | 将REAP应用到现有代码库 |
312
+
313
+ ## 许可证
314
+
315
+ MIT
package/dist/cli.js CHANGED
@@ -9863,7 +9863,7 @@ async function fixProject(projectRoot) {
9863
9863
 
9864
9864
  // src/cli/index.ts
9865
9865
  import { join as join7 } from "path";
9866
- program.name("reap").description("REAP — Recursive Evolutionary Autonomous Pipeline").version("0.1.0");
9866
+ program.name("reap").description("REAP — Recursive Evolutionary Autonomous Pipeline").version("0.1.3");
9867
9867
  program.command("init").description("Initialize a new REAP project (Genesis)").argument("[project-name]", "Project name (defaults to current directory name)").option("-m, --mode <mode>", "Entry mode: greenfield, migration, adoption", "greenfield").option("-p, --preset <preset>", "Bootstrap with a genome preset (e.g., bun-hono-react)").action(async (projectName, options) => {
9868
9868
  try {
9869
9869
  const cwd = process.cwd();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c-d-cc/reap",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Recursive Evolutionary Autonomous Pipeline — AI and humans evolve software across generations",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -9,7 +9,7 @@
9
9
  "type": "git",
10
10
  "url": "git+https://github.com/c-d-cc/reap.git"
11
11
  },
12
- "homepage": "https://github.com/c-d-cc/reap",
12
+ "homepage": "https://reap.cc",
13
13
  "keywords": [
14
14
  "ai",
15
15
  "development",
@@ -30,7 +30,7 @@
30
30
  },
31
31
  "scripts": {
32
32
  "dev": "bun run src/cli/index.ts",
33
- "build": "bun build src/cli/index.ts --outfile dist/cli.js --target node && rm -rf dist/templates && cp -r src/templates dist/templates",
33
+ "build": "node scripts/build.js",
34
34
  "prepublishOnly": "npm run build",
35
35
  "test": "bun test"
36
36
  },