@c-d-cc/reap 0.1.2 → 0.2.1

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,321 @@
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)または[OpenCode](https://opencode.ai) 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
+ ## エージェント連携
166
+
167
+ REAPはスラッシュコマンドとセッションフックを通じてAIエージェントと統合します。現在サポートされているエージェント:**Claude Code**、**OpenCode**。
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.update` | REAPのアップデート確認と最新バージョンへのアップグレード |
187
+ | **`/reap.evolve`** | **1つのGeneration全体を最初から最後まで実行(推奨)** |
188
+
189
+ ### SessionStart Hook
190
+
191
+ 毎セッション開始時に自動実行され、AIエージェントに以下を注入します:
192
+
193
+ - REAPワークフロー全体のガイド(Genome、ライフサイクル、4軸構造など)
194
+ - 現在のGeneration状態(どのステージにいるか、次に何をすべきか)
195
+ - REAPライフサイクルに従うルール
196
+
197
+ これにより、新しいセッションを開いてもエージェントがプロジェクトコンテキストを即座に把握します。
198
+
199
+ ### Strictモード
200
+
201
+ `.reap/config.yml`に`strict: true`を設定すると、AIエージェントがREAPワークフロー外でコードを変更することを制限します:
202
+
203
+ ```yaml
204
+ # .reap/config.yml
205
+ strict: true # デフォルト: false
206
+ language: korean # 成果物とインタラクションの言語
207
+ autoUpdate: true # セッション開始時の自動アップデート
208
+ agents: # 検出されたエージェント(reap init/updateで管理)
209
+ - claude-code
210
+ - opencode
211
+ ```
212
+
213
+ | 状況 | 動作 |
214
+ |------|------|
215
+ | アクティブGenerationなし / 実装ステージ外 | コード変更は完全にブロック |
216
+ | Implementationステージ | `02-planning.md`の範囲内でのみ変更許可 |
217
+ | エスケープハッチ | ユーザーが「override」「bypass strict」等を明示的に要求した場合に許可 |
218
+
219
+ Strictモードはデフォルトで無効です(`strict: false`)。
220
+
221
+ ### REAP Hooks
222
+
223
+ `.reap/config.yml`にhookを定義して、ライフサイクルイベントでコマンドやAIプロンプトを実行できます:
224
+
225
+ ```yaml
226
+ hooks:
227
+ onGenerationStart:
228
+ - command: "echo 'Generation started'"
229
+ onStageTransition:
230
+ - command: "echo 'Stage changed'"
231
+ onGenerationComplete:
232
+ - command: "reap update"
233
+ - prompt: "今回のGenerationで変更された機能があればREADMEに反映せよ。"
234
+ onRegression:
235
+ - command: "echo 'Regressed'"
236
+ ```
237
+
238
+ 各hookは`command`(シェルコマンド)または`prompt`(AIエージェント指示)のいずれかを使用します。
239
+
240
+ | イベント | トリガー |
241
+ |----------|----------|
242
+ | `onGenerationStart` | `/reap.start`で新しいGeneration作成後 |
243
+ | `onStageTransition` | `/reap.next`で次のステージに前進後 |
244
+ | `onGenerationComplete` | `/reap.next`で完了したGenerationをアーカイブ後 |
245
+ | `onRegression` | `/reap.back`で前のステージに回帰後 |
246
+
247
+ HookはAIエージェントがプロジェクトルートディレクトリで実行します。
248
+
249
+ ## `reap init`後のプロジェクト構造
250
+
251
+ ```
252
+ my-project/
253
+ ├── src/ # Civilization(ソースコード)
254
+ └── .reap/
255
+ ├── config.yml # プロジェクト設定
256
+ ├── genome/ # 遺伝情報
257
+ │ ├── principles.md
258
+ │ ├── domain/
259
+ │ ├── conventions.md
260
+ │ └── constraints.md
261
+ ├── environment/ # 外部環境
262
+ ├── life/ # 現在の世代
263
+ │ ├── current.yml
264
+ │ └── backlog/
265
+ └── lineage/ # 完了した世代のアーカイブ
266
+
267
+ ~/.claude/ # ユーザーレベル(reap initでインストール)
268
+ ├── commands/ # スラッシュコマンド(/reap.*)
269
+ └── settings.json # SessionStart hookの登録
270
+ ```
271
+
272
+ ## 系譜圧縮(Lineage Compression)
273
+
274
+ 世代が蓄積されるとlineageディレクトリが大きくなります。REAPは自動2段階圧縮でこれを管理します:
275
+
276
+ | レベル | 入力 | 出力 | 最大行数 | トリガー |
277
+ |--------|------|------|----------|----------|
278
+ | **Level 1** | 世代フォルダ(5つの成果物) | `gen-XXX.md` | 40行 | lineage > 10,000行 + 5世代以上 |
279
+ | **Level 2** | Level 1ファイル5つ | `epoch-XXX.md` | 60行 | Level 1が5つ以上 |
280
+
281
+ 圧縮は世代完了時に自動実行されます。圧縮されたファイルは目標(Objective)と結果(Completion)を中心に保存し、中間過程は特記事項のみを残します。
282
+
283
+ ## 進化フロー(Evolution Flow)
284
+
285
+ ```
286
+ Generation #1 (Genome v1)
287
+ → Objective: "ユーザー認証の実装"
288
+ → Planning → Implementation
289
+ → Implementation中にOAuth2の必要性を発見 → backlogにgenome-changeを記録
290
+ → Validation (partial)
291
+ → Completion → レトロスペクティブ + genome反映 → Genome v2 → アーカイブ
292
+
293
+ Generation #2 (Genome v2)
294
+ → Objective: "OAuth2連携 + 権限管理"
295
+ → 前世代のdeferredタスク + 新しい目標
296
+ → ...
297
+ ```
298
+
299
+ ## プリセット(Presets)
300
+
301
+ `reap init --preset`で技術スタックに合ったGenome初期設定を適用できます。
302
+
303
+ | プリセット | スタック |
304
+ |------------|----------|
305
+ | `bun-hono-react` | Bun + Hono + React |
306
+
307
+ ```bash
308
+ reap init my-project --preset bun-hono-react
309
+ ```
310
+
311
+ ## エントリーモード(Entry Modes)
312
+
313
+ | モード | 説明 |
314
+ |--------|------|
315
+ | `greenfield` | ゼロから新しいプロジェクトを構築(デフォルト) |
316
+ | `migration` | 既存システムを参照しながら新規構築 |
317
+ | `adoption` | 既存コードベースにREAPを適用 |
318
+
319
+ ## ライセンス
320
+
321
+ 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) 또는 [OpenCode](https://opencode.ai) CLI. [Bun](https://bun.sh)은 선택사항.
53
53
 
54
54
  ## 빠른 시작
55
55
 
@@ -162,9 +162,9 @@ reap init my-project --preset bun-hono-react # 프리셋으로 Genome 초기화
162
162
  reap update --dry-run # 변경사항 미리보기
163
163
  ```
164
164
 
165
- ## Claude Code 연동
165
+ ## 에이전트 연동
166
166
 
167
- REAP은 Claude Code의 가지 메커니즘으로 AI 에이전트와 통합됩니다:
167
+ REAP은 슬래시 커맨드와 세션 훅을 통해 AI 에이전트와 통합됩니다. 현재 지원 에이전트: **Claude Code**, **OpenCode**.
168
168
 
169
169
  ### Slash Commands
170
170
 
@@ -183,6 +183,7 @@ Slash command가 `.claude/commands/`에 설치되어 전체 워크플로우를
183
183
  | `/reap.status` | 현재 Generation 상태 및 프로젝트 건강 상태 표시 |
184
184
  | `/reap.sync` | 소스 코드 기반 Genome 최신화 |
185
185
  | `/reap.help` | 현재 상태에 따른 contextual AI 도움말 (topic: workflow, commands, strict, genome, backlog) |
186
+ | `/reap.update` | REAP 업데이트 확인 및 최신 버전으로 업그레이드 |
186
187
  | **`/reap.evolve`** | **한 Generation 전체를 처음부터 끝까지 실행 (권장)** |
187
188
 
188
189
  ### SessionStart Hook
@@ -201,7 +202,12 @@ Slash command가 `.claude/commands/`에 설치되어 전체 워크플로우를
201
202
 
202
203
  ```yaml
203
204
  # .reap/config.yml
204
- strict: true # 기본값: false
205
+ strict: true # 기본값: false
206
+ language: korean # 산출물 및 상호작용 언어
207
+ autoUpdate: true # 세션 시작 시 자동 업데이트
208
+ agents: # 감지된 에이전트 (reap init/update에서 관리)
209
+ - claude-code
210
+ - opencode
205
211
  ```
206
212
 
207
213
  | 상황 | 동작 |
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) or [OpenCode](https://opencode.ai) CLI. [Bun](https://bun.sh) is optional.
53
53
 
54
54
  ## Quick Start
55
55
 
@@ -161,9 +161,9 @@ reap init my-project --preset bun-hono-react # Initialize Genome with a preset
161
161
  reap update --dry-run # Preview changes before applying
162
162
  ```
163
163
 
164
- ## Claude Code Integration
164
+ ## Agent Integration
165
165
 
166
- REAP integrates with the AI agent through two Claude Code mechanisms:
166
+ REAP integrates with AI agents through slash commands and session hooks. Currently supported agents: **Claude Code** and **OpenCode**.
167
167
 
168
168
  ### Slash Commands
169
169
 
@@ -182,6 +182,7 @@ Slash commands are installed in `.claude/commands/` and drive the entire workflo
182
182
  | `/reap.status` | Show current generation state and project health |
183
183
  | `/reap.sync` | Synchronize Genome with current source code |
184
184
  | `/reap.help` | Contextual AI help based on current state (topic: workflow, commands, strict, genome, backlog) |
185
+ | `/reap.update` | Check for REAP updates and upgrade to the latest version |
185
186
  | **`/reap.evolve`** | **Run an entire generation from start to finish (recommended)** |
186
187
 
187
188
  ### SessionStart Hook
@@ -200,7 +201,12 @@ When `strict: true` is set in `.reap/config.yml`, the AI agent is restricted fro
200
201
 
201
202
  ```yaml
202
203
  # .reap/config.yml
203
- strict: true # default: false
204
+ strict: true # default: false
205
+ language: korean # language for artifacts and interactions
206
+ autoUpdate: true # auto-update REAP on session start
207
+ agents: # detected agents (managed by reap init/update)
208
+ - claude-code
209
+ - opencode
204
210
  ```
205
211
 
206
212
  | Context | Behavior |