@c-d-cc/reap 0.15.1 → 0.15.2
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 +2 -2
- package/README.ko.md +2 -2
- package/README.md +2 -2
- package/README.zh-CN.md +2 -2
- package/dist/cli.js +6 -6
- package/dist/templates/commands/reap.refreshKnowledge.md +1 -1
- package/dist/templates/help/en.txt +1 -1
- package/dist/templates/help/ko.txt +1 -1
- package/dist/templates/hooks/genome-loader.cjs +4 -4
- package/dist/templates/hooks/reap-guide.md +1 -1
- package/package.json +1 -1
package/README.ja.md
CHANGED
|
@@ -329,7 +329,7 @@ autoIssueReport: true # デフォルト: true(gh CLIがある場合)
|
|
|
329
329
|
| `/reap.merge.sync` | Genome-ソース間の整合性を検証(AI比較、ユーザー確認) |
|
|
330
330
|
| `/reap.merge.validation` | 機械的テストを実行(bun test、tsc、build) |
|
|
331
331
|
| **`/reap.merge.evolve`** | **マージライフサイクル全体を自動実行** |
|
|
332
|
-
| `/reap.refreshKnowledge` |
|
|
332
|
+
| `/reap.refreshKnowledge` | REAPコンテキストの再ロード(Genome、Environment、状態)。context compaction後やサブエージェントで使用 |
|
|
333
333
|
|
|
334
334
|
### SessionStart Hook [↗](https://reap.cc/docs/hooks)
|
|
335
335
|
|
|
@@ -363,7 +363,7 @@ strict:
|
|
|
363
363
|
|------|------|
|
|
364
364
|
| アクティブGenerationなし / 実装ステージ外 | コード変更は完全にブロック |
|
|
365
365
|
| Implementationステージ | `02-planning.md`の範囲内でのみ変更許可 |
|
|
366
|
-
| エスケープハッチ | ユーザーが「override」「bypass strict
|
|
366
|
+
| エスケープハッチ | ユーザーが「override」「bypass strict」等を明示的に要求した場合、その特定のアクションに限り許可。完了後strictモード再適用 |
|
|
367
367
|
|
|
368
368
|
**`strict.merge`** — Gitコマンド制御:有効にすると`git pull`/`push`/`merge`の直接使用が制限されます。エージェントが`/reap.pull`、`/reap.push`、`/reap.merge`の使用を案内します。
|
|
369
369
|
|
package/README.ko.md
CHANGED
|
@@ -329,7 +329,7 @@ Slash command가 `.claude/commands/`에 설치되어 전체 워크플로우를
|
|
|
329
329
|
| `/reap.merge.sync` | Genome-소스 간 일관성 검증 (AI 비교, 사용자 확인) |
|
|
330
330
|
| `/reap.merge.validation` | 기계적 테스트 실행 (bun test, tsc, build) |
|
|
331
331
|
| **`/reap.merge.evolve`** | **전체 머지 라이프사이클 자동 실행** |
|
|
332
|
-
| `/reap.refreshKnowledge` |
|
|
332
|
+
| `/reap.refreshKnowledge` | REAP 컨텍스트 재로드 (Genome, Environment, 상태). context compaction 후 또는 서브에이전트에서 사용 |
|
|
333
333
|
|
|
334
334
|
### SessionStart Hook [↗](https://reap.cc/docs/hooks)
|
|
335
335
|
|
|
@@ -363,7 +363,7 @@ strict:
|
|
|
363
363
|
|------|------|
|
|
364
364
|
| 활성 Generation 없음 / 구현 단계 외 | 코드 수정 완전 차단 |
|
|
365
365
|
| Implementation 단계 | `02-planning.md` 범위 내에서만 수정 허용 |
|
|
366
|
-
| Escape hatch | 사용자가 "override", "bypass strict" 등 명시적 요청 시
|
|
366
|
+
| Escape hatch | 사용자가 "override", "bypass strict" 등 명시적 요청 시 해당 작업에 한해 허용, 완료 후 strict 모드 재적용 |
|
|
367
367
|
|
|
368
368
|
**`strict.merge`** — Git 명령 제어: 활성화 시 `git pull`/`push`/`merge` 직접 사용이 제한됩니다. 에이전트가 `/reap.pull`, `/reap.push`, `/reap.merge` 사용을 안내합니다.
|
|
369
369
|
|
package/README.md
CHANGED
|
@@ -328,7 +328,7 @@ Slash commands are installed in `.claude/commands/` and drive the entire workflo
|
|
|
328
328
|
| `/reap.merge.sync` | Verify genome–source consistency (AI compares, user confirms) |
|
|
329
329
|
| `/reap.merge.validation` | Run mechanical testing (bun test, tsc, build) |
|
|
330
330
|
| **`/reap.merge.evolve`** | **Run the full merge lifecycle automatically** |
|
|
331
|
-
| `/reap.refreshKnowledge` |
|
|
331
|
+
| `/reap.refreshKnowledge` | Reload REAP context (Genome, Environment, state). Useful after context compaction or in subagents |
|
|
332
332
|
|
|
333
333
|
### SessionStart Hook [↗](https://reap.cc/docs/hooks)
|
|
334
334
|
|
|
@@ -364,7 +364,7 @@ strict:
|
|
|
364
364
|
|---------|----------|
|
|
365
365
|
| No active generation / non-implementation stage | Code modifications are fully blocked |
|
|
366
366
|
| Implementation stage | Only modifications within the scope of `02-planning.md` are allowed |
|
|
367
|
-
| Escape hatch | User explicitly requests "override" or "bypass strict" to
|
|
367
|
+
| Escape hatch | User explicitly requests "override" or "bypass strict" — bypass applies to that specific action only, then strict mode re-engages |
|
|
368
368
|
|
|
369
369
|
**`strict.merge`** — Git command control: when enabled, direct `git pull`/`push`/`merge` are restricted. The agent guides users to use `/reap.pull`, `/reap.push`, `/reap.merge` instead.
|
|
370
370
|
|
package/README.zh-CN.md
CHANGED
|
@@ -329,7 +329,7 @@ autoIssueReport: true # 默认值: true(检测到gh CLI时)
|
|
|
329
329
|
| `/reap.merge.sync` | 验证Genome与源代码的一致性(AI比较,用户确认) |
|
|
330
330
|
| `/reap.merge.validation` | 运行机械化测试(bun test、tsc、build) |
|
|
331
331
|
| **`/reap.merge.evolve`** | **自动运行完整的合并生命周期** |
|
|
332
|
-
| `/reap.refreshKnowledge` |
|
|
332
|
+
| `/reap.refreshKnowledge` | 重新加载REAP上下文(Genome、Environment、状态)。context compaction后或在子代理中使用 |
|
|
333
333
|
|
|
334
334
|
### SessionStart Hook [↗](https://reap.cc/docs/hooks)
|
|
335
335
|
|
|
@@ -363,7 +363,7 @@ strict:
|
|
|
363
363
|
|------|------|
|
|
364
364
|
| 无活跃Generation / 非实现阶段 | 代码修改完全阻止 |
|
|
365
365
|
| Implementation阶段 | 仅允许`02-planning.md`范围内的修改 |
|
|
366
|
-
| 逃生舱 | 用户明确请求"override"或"bypass strict"
|
|
366
|
+
| 逃生舱 | 用户明确请求"override"或"bypass strict"时,仅对该特定操作允许,完成后strict模式重新生效 |
|
|
367
367
|
|
|
368
368
|
**`strict.merge`** — Git命令控制:启用后,直接使用`git pull`/`push`/`merge`将被限制。代理会引导用户使用`/reap.pull`、`/reap.push`、`/reap.merge`。
|
|
369
369
|
|
package/dist/cli.js
CHANGED
|
@@ -12359,7 +12359,7 @@ async function execute15(paths) {
|
|
|
12359
12359
|
const gm = new GenerationManager(paths);
|
|
12360
12360
|
const state = await gm.current();
|
|
12361
12361
|
const configContent = await readTextFile(paths.config);
|
|
12362
|
-
const installedVersion = "0.15.
|
|
12362
|
+
const installedVersion = "0.15.2";
|
|
12363
12363
|
const autoUpdate = configContent?.match(/autoUpdate:\s*(true|false)/)?.[1] === "true";
|
|
12364
12364
|
const versionDisplay = formatVersionLine(installedVersion, !autoUpdate);
|
|
12365
12365
|
const rawLang = detectLanguage(configContent);
|
|
@@ -14403,7 +14403,7 @@ async function runCommand(command, phase, argv = []) {
|
|
|
14403
14403
|
try {
|
|
14404
14404
|
const config = await ConfigManager.read(paths);
|
|
14405
14405
|
if (config.autoIssueReport) {
|
|
14406
|
-
const version = "0.15.
|
|
14406
|
+
const version = "0.15.2";
|
|
14407
14407
|
const errMsg = err instanceof Error ? err.message : String(err);
|
|
14408
14408
|
const title = `[auto] reap run ${command}: ${errMsg.slice(0, 80)}`;
|
|
14409
14409
|
const body = [
|
|
@@ -15034,7 +15034,7 @@ async function initProject(projectRoot, projectName, entryMode, preset, onProgre
|
|
|
15034
15034
|
}
|
|
15035
15035
|
const detectedLanguage = await AgentRegistry.readLanguage();
|
|
15036
15036
|
const config = {
|
|
15037
|
-
version: "0.15.
|
|
15037
|
+
version: "0.15.2",
|
|
15038
15038
|
project: projectName,
|
|
15039
15039
|
entryMode,
|
|
15040
15040
|
strict: false,
|
|
@@ -15641,7 +15641,7 @@ async function updateProject(projectRoot, dryRun = false) {
|
|
|
15641
15641
|
}
|
|
15642
15642
|
} catch {}
|
|
15643
15643
|
await migrateLegacyFiles(paths, dryRun, result);
|
|
15644
|
-
const currentVersion = "0.15.
|
|
15644
|
+
const currentVersion = "0.15.2";
|
|
15645
15645
|
const migrationResult = await MigrationRunner.run(paths, currentVersion, dryRun);
|
|
15646
15646
|
for (const m of migrationResult.migrated) {
|
|
15647
15647
|
result.updated.push(`[migration] ${m}`);
|
|
@@ -16439,7 +16439,7 @@ init_fs();
|
|
|
16439
16439
|
init_version();
|
|
16440
16440
|
init_config();
|
|
16441
16441
|
import { join as join32 } from "path";
|
|
16442
|
-
program.name("reap").description("REAP — Recursive Evolutionary Autonomous Pipeline").version("0.15.
|
|
16442
|
+
program.name("reap").description("REAP — Recursive Evolutionary Autonomous Pipeline").version("0.15.2");
|
|
16443
16443
|
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) => {
|
|
16444
16444
|
try {
|
|
16445
16445
|
const cwd = process.cwd();
|
|
@@ -16496,7 +16496,7 @@ program.command("status").description("Show current project and Generation statu
|
|
|
16496
16496
|
const paths = new ReapPaths(cwd);
|
|
16497
16497
|
const config = await ConfigManager.read(paths);
|
|
16498
16498
|
const skipCheck = config.autoUpdate === false;
|
|
16499
|
-
const installedVersion = "0.15.
|
|
16499
|
+
const installedVersion = "0.15.2";
|
|
16500
16500
|
const versionLine = formatVersionLine(installedVersion, skipCheck);
|
|
16501
16501
|
console.log(`${versionLine} | Project: ${status.project} (${status.entryMode})`);
|
|
16502
16502
|
console.log(`Completed Generations: ${status.totalGenerations}`);
|
|
@@ -3,4 +3,4 @@ description: "REAP Refresh Knowledge — Load REAP context (Genome, Environment,
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
Run `reap run refreshKnowledge` and incorporate the returned REAP context into your working knowledge.
|
|
6
|
-
This is useful when
|
|
6
|
+
This is useful when REAP context is lost or not loaded (e.g., after context compaction, in a subagent, or when starting without a session-start hook).
|
|
@@ -22,7 +22,7 @@ Slash Commands (use in Claude Code):
|
|
|
22
22
|
/reap.status Show current state
|
|
23
23
|
/reap.sync Synchronize Genome with source code
|
|
24
24
|
/reap.help Contextual help (AI-powered)
|
|
25
|
-
/reap.refreshKnowledge
|
|
25
|
+
/reap.refreshKnowledge Reload REAP context (Genome, Environment, state)
|
|
26
26
|
|
|
27
27
|
Quick Start:
|
|
28
28
|
1. reap init my-project
|
|
@@ -222,16 +222,16 @@ function buildStrictSection(strictEdit, strictMerge, genStage) {
|
|
|
222
222
|
|
|
223
223
|
if (strictEdit) {
|
|
224
224
|
if (genStage === 'implementation') {
|
|
225
|
-
sections += "\n\n## Strict Mode — Edit (ACTIVE — SCOPED MODIFICATION ALLOWED)\n<HARD-GATE>\nStrict mode is enabled. Code modification is ALLOWED only within the scope of the current Generation's plan.\n- You MUST read `.reap/life/02-planning.md` before writing any code.\n- You may ONLY modify files and modules listed in the plan's task list.\n- Changes outside the plan's scope are BLOCKED. If you discover out-of-scope work is needed, add it to the backlog instead of implementing it.\n- If the user explicitly requests to bypass strict mode (e.g., \"override\", \"bypass strict\"), you may proceed — but inform them that strict mode is being bypassed.\n</HARD-GATE>";
|
|
225
|
+
sections += "\n\n## Strict Mode — Edit (ACTIVE — SCOPED MODIFICATION ALLOWED)\n<HARD-GATE>\nStrict mode is enabled. Code modification is ALLOWED only within the scope of the current Generation's plan.\n- You MUST read `.reap/life/02-planning.md` before writing any code.\n- You may ONLY modify files and modules listed in the plan's task list.\n- Changes outside the plan's scope are BLOCKED. If you discover out-of-scope work is needed, add it to the backlog instead of implementing it.\n- If the user explicitly requests to bypass strict mode (e.g., \"override\", \"bypass strict\"), you may proceed for that specific action only — but inform them that strict mode is being bypassed. The bypass does NOT persist; strict mode re-engages immediately after the requested action is complete.\n</HARD-GATE>";
|
|
226
226
|
} else if (genStage === 'none') {
|
|
227
|
-
sections += "\n\n## Strict Mode — Edit (ACTIVE — CODE MODIFICATION BLOCKED)\n<HARD-GATE>\nStrict mode is enabled and there is NO active Generation.\nYou MUST NOT write, edit, or create any source code files.\nAllowed actions: reading files, analyzing code, answering questions, running commands.\nTo start coding, the user must first run `/reap.start` and advance to the implementation stage.\nIf the user explicitly requests to bypass strict mode (e.g., \"override\", \"bypass strict\", \"just do it\"), you may proceed — but inform them that strict mode is being bypassed.\n</HARD-GATE>";
|
|
227
|
+
sections += "\n\n## Strict Mode — Edit (ACTIVE — CODE MODIFICATION BLOCKED)\n<HARD-GATE>\nStrict mode is enabled and there is NO active Generation.\nYou MUST NOT write, edit, or create any source code files.\nAllowed actions: reading files, analyzing code, answering questions, running commands.\nTo start coding, the user must first run `/reap.start` and advance to the implementation stage.\nIf the user explicitly requests to bypass strict mode (e.g., \"override\", \"bypass strict\", \"just do it\"), you may proceed for that specific action only — but inform them that strict mode is being bypassed. The bypass does NOT persist; strict mode re-engages immediately after the requested action is complete.\n</HARD-GATE>";
|
|
228
228
|
} else {
|
|
229
|
-
sections += `\n\n## Strict Mode — Edit (ACTIVE — CODE MODIFICATION BLOCKED)\n<HARD-GATE>\nStrict mode is enabled. Current stage is '${genStage}', which is NOT the implementation stage.\nYou MUST NOT write, edit, or create any source code files.\nAllowed actions: reading files, analyzing code, answering questions, running commands, writing REAP artifacts.\nAdvance to the implementation stage via the REAP lifecycle to unlock code modification.\nIf the user explicitly requests to bypass strict mode (e.g., \"override\", \"bypass strict\", \"just do it\"), you may proceed — but inform them that strict mode is being bypassed.\n</HARD-GATE>`;
|
|
229
|
+
sections += `\n\n## Strict Mode — Edit (ACTIVE — CODE MODIFICATION BLOCKED)\n<HARD-GATE>\nStrict mode is enabled. Current stage is '${genStage}', which is NOT the implementation stage.\nYou MUST NOT write, edit, or create any source code files.\nAllowed actions: reading files, analyzing code, answering questions, running commands, writing REAP artifacts.\nAdvance to the implementation stage via the REAP lifecycle to unlock code modification.\nIf the user explicitly requests to bypass strict mode (e.g., \"override\", \"bypass strict\", \"just do it\"), you may proceed for that specific action only — but inform them that strict mode is being bypassed. The bypass does NOT persist; strict mode re-engages immediately after the requested action is complete.\n</HARD-GATE>`;
|
|
230
230
|
}
|
|
231
231
|
}
|
|
232
232
|
|
|
233
233
|
if (strictMerge) {
|
|
234
|
-
sections += "\n\n## Strict Mode — Merge (ACTIVE)\nDirect git pull, git push, and git merge commands are restricted.\nUse REAP slash commands instead: `/reap.pull`, `/reap.push`, `/reap.merge.start`.\nThis ensures genome-first conflict resolution and proper lineage tracking.\nIf the user explicitly requests to bypass (e.g., \"override\", \"bypass strict\"), you may proceed — but inform them that strict merge mode is being bypassed.";
|
|
234
|
+
sections += "\n\n## Strict Mode — Merge (ACTIVE)\nDirect git pull, git push, and git merge commands are restricted.\nUse REAP slash commands instead: `/reap.pull`, `/reap.push`, `/reap.merge.start`.\nThis ensures genome-first conflict resolution and proper lineage tracking.\nIf the user explicitly requests to bypass (e.g., \"override\", \"bypass strict\"), you may proceed for that specific action only — but inform them that strict merge mode is being bypassed. The bypass does NOT persist; strict mode re-engages immediately after the requested action is complete.";
|
|
235
235
|
}
|
|
236
236
|
|
|
237
237
|
return sections;
|
|
@@ -200,7 +200,7 @@ When `strict: true` is set in `.reap/config.yml`, the AI agent enforces code mod
|
|
|
200
200
|
| Active Generation, not implementation stage | **BLOCKED** | Read, analyze, answer questions, write REAP artifacts |
|
|
201
201
|
| Active Generation, implementation stage | **SCOPED** — only files/modules listed in 02-planning.md | Full development within plan scope |
|
|
202
202
|
|
|
203
|
-
- **Escape hatch**: If the user explicitly requests to bypass strict mode (e.g., "override", "bypass strict", "just do it"), the agent may proceed
|
|
203
|
+
- **Escape hatch**: If the user explicitly requests to bypass strict mode (e.g., "override", "bypass strict", "just do it"), the agent may proceed **for that specific action only** and must inform the user that strict mode is being bypassed. The bypass does NOT persist — strict mode re-engages immediately after the requested action is complete.
|
|
204
204
|
- **Default**: `strict: false` (no restrictions beyond normal REAP workflow guidance).
|
|
205
205
|
|
|
206
206
|
## Critical Rules
|