Skip to content
/

REAP (c-d-cc/reap)

reap · c-d-cc/reap · ★ 41 · last commit 2026-05-25

Prevent context loss, scattered development, and forgotten lessons through a generation-based lifecycle where AI and human co-evolve a typed knowledge base (Genome + Environment) across successive iterations.

Best whenA development pipeline without genome immutability constraints is just a fancy REPL — every session adds cruft until the AI no longer knows what it knows.
Skip ifIn-flight genome modifications during implementation, Quantitative auto-scoring as a fitness signal (self-fitness prohibited)
vs seeds
spec-kit(memory bank files loaded every session), but REAP replaces spec artifacts with a self-evolving knowledge base (Genome/E…
Primitive shape 17 total
Commands 15 Subagents 1 Hooks 1
00

Summary

REAP (c-d-cc/reap) — Summary

REAP (Recursive Evolutionary Autonomous Pipeline) is a generation-based development framework where AI and humans co-evolve software across discrete, structured generations. Each generation follows a five-stage lifecycle (learning → planning → implementation → validation → completion), and every completed generation feeds lessons back into a typed knowledge base split into Genome (prescriptive: architecture, conventions, constraints) and Environment (descriptive: codebase, dependencies, domain). The most distinctive mechanic is automatic two-level lineage compression: generation artifacts auto-compress into summary files, which further compress into epoch files after 100+ generations, keeping context manageable without manual pruning. REAP ships as a global npm CLI (@c-d-cc/reap) with adapter support for Claude Code and OpenCode, deploying 15 slash commands through each client's native slash-command system. A nonce-chain integrity mechanism enforces stage ordering at the code level — stages cannot be skipped, forged, or replayed. Closest in spirit to SPEC-DRIVER's delta-first lifecycle, but REAP replaces SPEC-DRIVER's spec artifact files with a biology-metaphor knowledge layer (Genome/Environment/Lineage) where the knowledge base itself evolves between generations rather than being authored once up-front.

01

Overview

REAP (c-d-cc/reap) — Overview

Identity

Field Value
Full name REAP — Recursive Evolutionary Autonomous Pipeline
Repository https://github.com/c-d-cc/reap
npm package @c-d-cc/reap
Author HyeonIL Choi (casamia918)
License MIT
Stars 41
Last push 2026-05-25
Website reap.cc

Problem Statement

REAP addresses five failure modes of AI-assisted development:

  1. Context loss — agents forget everything between sessions
  2. Scattered development — code modified with no clear direction
  3. Design-code drift — documentation diverges from implementation
  4. Forgotten lessons — hard-won insights never carry forward
  5. Collaboration chaos — multiple agents produce conflicting changes

Solution Approach

REAP wraps AI development in a generational model borrowed from biology:

  • Genome stores prescriptive knowledge (how to build)
  • Environment stores descriptive knowledge (what exists now)
  • Civilization is the source code (what gets evolved)
  • Lineage archives the history of completed generations
  • Vision holds long-term goals and 3-tier AI memory

Each generation is a complete cycle with typed artifacts and approval gates. Between generations, the Genome and Environment are updated to reflect what was learned — the knowledge base self-evolves.

Supported AI Clients

  • Claude Code (default, agentClient: claude-code)
  • OpenCode (agentClient: opencode)

Switching clients: edit .reap/config.yml → run reap install-skills && reap update.

Quick Start

npm install -g @c-d-cc/reap
# Open Claude Code in your project
/reap.init       # Initialize REAP (auto-detects greenfield vs. existing codebase)
/reap.evolve     # Run a complete generation
02

Architecture

REAP (c-d-cc/reap) — Architecture

System Layers

┌─────────────────────────────────────────┐
│  Adapter Layer (src/adapters/)          │  dispatcher + per-client modules
├─────────────────────────────────────────┤
│  CLI Layer (src/cli/)                   │  command routing, phase dispatch
├─────────────────────────────────────────┤
│  Core Layer (src/core/)                 │  lifecycle, nonce, archive, compression
├─────────────────────────────────────────┤
│  State Layer (.reap/)                   │  file-based state (YAML + Markdown)
└─────────────────────────────────────────┘

State Layer — .reap/ Directory

.reap/
  config.yml                # Project config (agentClient, cruiseCount, strictEdit, etc.)
  genome/                   # Prescriptive knowledge (always fully loaded)
    application.md          # Project identity, architecture, conventions, constraints
    evolution.md            # AI behavior guide, evolution direction, soft lifecycle rules
    invariants.md           # Absolute constraints (human-only edits)
  environment/              # Descriptive knowledge (two-tier loading)
    summary.md              # Always loaded at session start (~100 lines)
    domain/                 # Domain knowledge (on-demand)
    resources/              # External reference docs (API specs, SDK docs) — on-demand
    docs/                   # Project reference docs (design docs, specs) — on-demand
    source-map.md           # Current code structure + dependencies — on-demand
  vision/
    goals.md                # North star objectives (drives gap-based goal selection)
    docs/                   # Planning documents
    memory/                 # AI memory (longterm.md / midterm.md / shortterm.md)
  life/
    current.yml             # Active generation metadata (stage, goal, nonce chain)
    backlog/                # Pending backlog items (.yml per item)
  lineage/                  # Completed generation archive (auto-compressed)
  hooks/                    # Lifecycle hooks (.md = AI prompt, .sh = shell script)

Adapter Layer

The adapter dispatcher (src/adapters/index.ts) reads agentClient from config and routes installs/updates to the correct adapter. Each adapter handles:

  • Entry-point file generation (CLAUDE.md or AGENTS.md)
  • Slash command deployment (~/.claude/commands/reap.*.md or ~/.config/opencode/commands/)
  • Session integration (SessionStart hook vs. plugin on session.created)
  • Dynamic state dump (.reap/.session-state.md for OpenCode)

Claude Code Adapter

  • Entry-point: CLAUDE.md with @ imports for static knowledge (genome + environment summary + reap-guide)
  • Session integration: ~/.claude/settings.json SessionStart hook → reap load-context
  • Commands: 15 .md files at ~/.claude/commands/reap.*.md

OpenCode Adapter

  • Entry-point: AGENTS.md + opencode.json instructions field
  • Session integration: .opencode/plugins/reap-plugin.ts — fires on session.created and tool.execute.before
  • Dynamic state: .reap/.session-state.md — synchronously written after every REAP lifecycle command

Nonce-Chain Integrity

Stage ordering is enforced at the code level. Each lifecycle command:

  1. Validates the current nonce against life/current.yml
  2. Executes
  3. Writes a new nonce before returning

This prevents stage skipping, forgery, and replay. No skipping from planning to completion without completing implementation and validation first.

Two-Level Lineage Compression

  • Level 1: After a generation completes, its 5 artifact files (.md per stage) are compressed into a single summary file
  • Level 2: After 100+ Level 1 files accumulate, they are compressed into a single epoch.md

DAG metadata is preserved through compression, enabling branch-aware lineage traversal during merge workflows.

Immutability Constraints

Knowledge layer Modification rule
Genome Never modified during a generation. Only at adapt phase (completion).
Environment Never modified during a generation. Only at reflect phase (completion).
Backlog Issues are logged to backlog during a generation; consumed at completion.
Invariants Human-only edits. AI never touches invariants.md.
03

Components

REAP (c-d-cc/reap) — Components

CLI Binary

  • Binary: reap (global npm install)
  • Package: @c-d-cc/reap
  • Runtime: Node.js v18+ (built with Bun)
  • Key internal commands: reap load-context, reap install-skills, reap update, reap run <cmd>

Slash Commands (15)

All deployed to ~/.claude/commands/reap.*.md (Claude Code) or ~/.config/opencode/commands/ (OpenCode).

Command Purpose
/reap.evolve Run a complete generation (recommended entry point)
/reap.start Start a new generation (first stage only)
/reap.next Advance to next lifecycle stage
/reap.back Return to previous stage
/reap.early-close Lightweight abort — preserve partial value, auto-defer incomplete tasks
/reap.abort Full abort of current generation
/reap.knowledge Review and manage genome/environment
/reap.merge Merge lifecycle operations
/reap.pull Fetch + merge lifecycle
/reap.push Validate + push
/reap.status Check current generation state
/reap.help Show available commands
/reap.init Initialize REAP in a project
/reap.run Execute a lifecycle command directly
/reap.config View/edit project configuration

Core Layer Modules (src/core/)

File Responsibility
lifecycle.ts Stage sequencing, nonce chain management
nonce.ts Nonce generation and validation
compression.ts Two-level lineage compression
archive.ts Generation artifact archival
backlog.ts Backlog item CRUD
genome-suggest.ts Genome mutation proposals at adapt phase
maturity.ts Bootstrap/growth/cruise maturity tracking
clarity.ts Clarity-driven interaction level calculation
cruise.ts Cruise mode autonomous loop management
vision.ts Goal gap analysis for auto-goal-selection
lineage.ts DAG lineage traversal and merge history
generation.ts Generation lifecycle orchestration
git.ts Git operations (branch, commit, merge)
scanner.ts Project scanning for environment/source-map generation

Genome Files (3 fixed files)

File Content
application.md Project identity, architecture, conventions, constraints
evolution.md AI behavior guide, evolution direction, soft lifecycle rules
invariants.md Absolute constraints (human-only edits — AI never modifies this file)

Environment Loading Strategy

  • summary.md — always loaded at session start (~100 lines)
  • domain/, resources/, docs/, source-map.md — on-demand only

This two-tier strategy prevents context bloat while keeping essential context always available.

Memory System (3-tier, under .reap/vision/memory/)

File Lifespan Purpose
longterm.md Project lifetime Recurring patterns, architectural rationale
midterm.md Multiple generations Multi-generation plans, progress tracking
shortterm.md 1-2 sessions Session handoff, immediate context

Unlike Genome (immutability constraints) and Lineage (auto-compressed), Memory is always accessible and freely writable by the AI.

Hooks (.reap/hooks/)

  • .md files — AI prompts executed by the agent at lifecycle events
  • .sh files — shell scripts executed directly

Hooks extend lifecycle stages without modifying the core CLI.

Configuration (.reap/config.yml)

Key fields:

  • agentClient: claude-code | opencode — controls adapter selection
  • cruiseCount: N/M — enables cruise mode (N = current generation, M = total approved)
  • autoSubagent: true/false — auto-delegate evolve to subagent
  • strictEdit: true/false — restrict code changes to REAP lifecycle scope
  • strictMerge: true/false — restrict direct git pull/push/merge
  • language: english — artifact and prompt language
05

Prompts

REAP (c-d-cc/reap) — Prompt Excerpts

Excerpt 1: README — Generation-Based Problem Framing

Source: README.md — What is REAP?

Have you ever run into these problems when developing with AI agents?

- **Context loss** — The agent forgets everything when you start a new session
- **Scattered development** — Code gets modified with no clear direction or goal
- **Design-code drift** — Documentation diverges from actual implementation
- **Forgotten lessons** — Hard-won insights never carry forward
- **Collaboration chaos** — Multiple agents or developers produce conflicting changes

REAP solves these with a **self-evolving generation model**:
- Each generation follows a structured lifecycle
- The AI agent automatically restores full project context at every session start
- Prescriptive knowledge (Genome) evolves through human-approved adaptations
- The AI automatically selects goals by analyzing the gap between vision and current state

Prompting technique: Problem-to-solution mapping — each failure mode maps explicitly to a REAP mechanism, grounding abstract methodology in concrete pain points.


Excerpt 2: reap-guide.md — Human Judges Fitness Principle

Source: .reap/reap-guide.md

## Principles

- **Genome Immutability**: The genome is never modified during a normal generation. Issues are
  logged in the backlog and applied at completion's adapt phase. (Embryo generations allow
  free genome modification.)
- **Environment Immutability**: The environment is never modified directly during a generation.
  Changes are recorded in the backlog and applied at completion's reflect phase.
- **Human Judges Fitness**: No quantitative metrics. The human's natural language feedback
  is the only fitness signal.
- **Self-fitness Prohibited**: The AI never scores its own success. Only self-assessment
  (metacognition) is allowed.

Prompting technique: Explicit prohibition of AI self-scoring — structurally different from systems where agents evaluate their own output. The human's word is the only fitness signal, removing all metric gaming vectors.


Excerpt 3: genome/application.md — Biology Metaphor as Spec Language

Source: .reap/genome/application.md (REAP's own self-description)

## Architecture

### Core Metaphor — 생물학적 진화

| 생물학    | REAP           | 역할                                    |
|-----------|----------------|----------------------------------------|
| Genome    | .reap/genome/  | 프로젝트의 DNA — 원칙, 아키텍처, 제약 |
| Generation| life/current.yml | 하나의 진화 사이클                   |
| Lineage   | .reap/lineage/ | 세대 기록 — DAG 구조, 압축 가능       |
| Mutation  | adapt phase    | completion에서 genome 변경 제안         |
| Crossover | merge lifecycle| 병렬 브랜치 간 genome 교차 (3-way diff)|
| Fitness   | fitness phase  | 인간 피드백 기반 적합도 평가            |
| Maturity  | bootstrap → growth → cruise | 프로젝트 성숙도에 따른 AI 행동 조절 |

Prompting technique: Biology metaphor as a complete mental model — by mapping every REAP concept to a biological analog (mutation, crossover, fitness, maturity), the author creates a self-consistent vocabulary that predicts behavior: if Genome = DNA, then it must be stable during development and only change through approved mutation.


Excerpt 4: README — Clarity-Driven Interaction

Source: README.md — Self-Evolving Features

### Clarity-Driven Interaction

The AI adjusts its communication style based on how well-defined the current context is:

- **High clarity** (clear goal, defined tasks) → Execute with minimal questions
- **Medium clarity** (direction exists, details unclear) → Present 2-3 options with tradeoffs
- **Low clarity** (ambiguous goal) → Active dialogue with examples to build shared understanding

Prompting technique: Explicit verbosity calibration — the agent's communication density is a function of context clarity rather than a fixed style. This prevents over-questioning in well-defined stages and under-explaining in ambiguous ones.

09

Uniqueness

REAP (c-d-cc/reap) — Uniqueness

What Makes REAP Distinctive

1. Biology Metaphor as a Complete Mental Model

REAP is the only framework in the batch that uses an internally consistent biology metaphor as its entire architectural vocabulary:

Biology REAP
Genome Prescriptive knowledge (.reap/genome/)
Generation One evolution cycle
Lineage Archived generation history (DAG)
Mutation Genome change proposal at adapt phase
Crossover Genome-first merge across branches
Fitness Human feedback signal (the only success metric)
Maturity Bootstrap → Growth → Cruise maturity states

This is not decoration — the metaphor is load-bearing. Because Genome = DNA, it must be stable during development. Because Fitness = natural selection, the AI cannot self-score. The metaphor predicts the rules.

2. Genome Immutability + Backlog Discipline

No other framework in the batch enforces a hard constraint against modifying knowledge during a generation. REAP's rule: all discovered issues go to backlog; knowledge updates happen only at designated phases (reflect, adapt). This prevents the most common failure mode in iterative development — scope creep as "quick fixes" that accumulate into an unrecognizable codebase.

3. Two-Level Lineage Compression with DAG Preservation

5 stage artifacts → 1 summary (Level 1). 100+ summaries → 1 epoch (Level 2). DAG metadata is preserved through both compression levels, enabling branch-aware lineage traversal. No other framework in batch-19 has a comparable auto-compression scheme for long-running project history.

4. Human-Only Fitness Signal

The invariants.md file is human-only — the AI is prohibited from writing to it. The fitness phase accepts only natural-language human feedback. No automated test suites, no quantitative metrics, no AI self-scoring. This is a deliberate philosophical stance: quantitative metrics are gameable; human judgment is not.

5. Nonce-Chain Stage Ordering Enforcement

Stage ordering is enforced at the code level via a nonce chain in life/current.yml. This is not a "please follow the workflow" instruction in a markdown prompt — it is a cryptographic lock that the CLI validates before executing any stage transition. No other framework in this batch implements equivalent lifecycle integrity at the code level.

6. Adapter Abstraction for Multi-Client Support

The adapter dispatcher (src/adapters/index.ts) allows REAP to target multiple AI clients from a single codebase. Switching from Claude Code to OpenCode is one config field change + reap update. The adapter generates the appropriate entry-point file, session integration, and slash command deployment for the target client. This is architecture-level multi-tool support, not just documentation coverage.

7. Clarity-Driven Interaction

The AI's communication density is programmatically tied to context clarity level. High clarity → execute quietly. Low clarity → active dialogue. This prevents the common anti-pattern of verbose agents that ask permission at every step in well-understood situations.

Differs From Seeds

Most similar to: SPEC-DRIVER (delta-first lifecycle with structured spec artifacts per phase) and SPEC-KIT (structured knowledge files loaded at session start).

Key differences from SPEC-DRIVER: SPEC-DRIVER tracks spec artifacts (requirements.md, design.md, tasks.md) as the workflow output. REAP tracks a typed knowledge base (Genome, Environment) that itself evolves between generations. SPEC-DRIVER specs are authored; REAP knowledge is grown.

Key differences from SPEC-KIT: SPEC-KIT's memory bank is static files (AGENTS.md, architecture.md, decisions.md). REAP's equivalent (Genome + Environment + Memory) has strict immutability rules, compression, and a schema-constrained 3-file structure. REAP adds the generation lifecycle and nonce enforcement that SPEC-KIT lacks entirely.

Absent from all seeds: Two-level lineage compression with DAG preservation, nonce-chain stage enforcement at the code level, biology-metaphor architecture vocabulary, and cruise mode (N autonomous generations with gap-driven goal selection).

04

Workflow

REAP (c-d-cc/reap) — Workflow

Generation Lifecycle

learning → planning → implementation ⟷ validation → completion
Stage Command Output artifact Gate
Learning /reap.next (or /reap.evolve) 01-learning.md No gate — AI-driven exploration
Planning /reap.next 02-planning.md Human approves goal + task decomposition
Implementation /reap.next 03-implementation.md None (iterates with validation)
Validation /reap.next 04-validation.md Tests must pass; can loop back to implementation
Completion /reap.next 05-completion.md Human provides fitness feedback

Completion Sub-phases

Within the completion stage:

  1. Reflect — apply environment backlog items (update environment/ files)
  2. Fitness — human provides natural-language feedback (the only success signal)
  3. Adapt — apply genome backlog items; AI proposes next generation's goal based on vision gap
  4. Commit — archive generation to lineage; compress if needed

Nonce-Chain Enforcement

Every current.yml carries a nonce. The CLI validates the nonce before executing each stage transition. This prevents:

  • Skipping stages (cannot jump from planning to completion)
  • Replay attacks (replaying an old command against a different state)
  • Parallel corruption (concurrent agents cannot both advance the same stage)

Backlog Discipline

During any stage, the AI logs discovered issues to .reap/life/backlog/ rather than fixing them immediately:

  • type: genome-change — processed at adapt phase
  • type: environment-change — processed at reflect phase
  • type: task — deferred to a future generation

This enforces the immutability constraints. No in-flight knowledge updates during implementation.

Merge Lifecycle (Parallel Work)

When branches diverge, REAP uses a genome-first merge workflow:

detect → mate → merge → reconcile → validation → completion
Stage Purpose
Detect Identify genome + code divergence between branches
Mate Resolve genome conflicts first (human decides)
Merge Merge source code guided by the finalized genome
Reconcile Verify genome-source consistency
Validation Run tests against merged result
Completion Commit and archive merged result

The key insight: genome conflicts are resolved before code conflicts. Code is merged guided by the agreed genome.

Cruise Mode (Autonomous Loop)

When cruiseCount: N/M is set in config:

  1. AI selects goals from vision gaps (no human input for goal selection)
  2. Runs the full 5-stage lifecycle autonomously
  3. Pauses if uncertainty or risk is detected
  4. After all N generations complete, presents batch for human review

Embryo Generations

Special generation type for initial project setup:

  • Genome modification is allowed during the generation (relaxes immutability constraint)
  • Used for: project initialization, major architectural pivots, migration workflows

Recovery

  • Interrupted migration: State saved in .reap/migration-state.yml; /reap.update resumes from last completed step
  • Early close: /reap.early-close — lightweight abort; partial value preserved, incomplete tasks auto-deferred to backlog
  • Full abort: /reap.abort — cleans current generation state

Gap-Driven Goal Selection (Adapt Phase)

The AI automatically proposes the next generation's goal by:

  1. Cross-referencing unchecked goals in vision/goals.md with pending backlog items
  2. Prioritizing by impact against the vision
  3. Proposing the most valuable next step

Human approves or adjusts the proposed goal before the next generation starts.

06

Memory Context

REAP (c-d-cc/reap) — Memory & Context

Context Loading Strategy

REAP uses a two-tier loading strategy to keep context manageable:

Always-Loaded (Static Knowledge)

Loaded via @ imports in CLAUDE.md at every session start:

  • genome/application.md — project identity, architecture, conventions, constraints
  • genome/evolution.md — AI behavior guide, evolution direction, soft lifecycle rules
  • genome/invariants.md — absolute constraints
  • environment/summary.md — ~100-line codebase summary

On-Demand Knowledge

Loaded only when needed during a generation:

  • environment/domain/ — domain knowledge
  • environment/resources/ — external reference docs (API specs, SDK docs)
  • environment/docs/ — project reference docs (design docs)
  • environment/source-map.md — current code structure + dependencies

Dynamic State

  • life/current.yml — current stage, nonce, goal, assigned tasks
  • .reap/.session-state.md — synchronously written after every command (OpenCode only)

AI Memory (3-Tier)

Under .reap/vision/memory/ — freely writable by AI, always accessible, never compressed:

Tier File Lifespan Purpose
Longterm longterm.md Project lifetime Lessons that bear repeating, recurring patterns, architectural decision rationale
Midterm midterm.md Multiple generations Ongoing large-task context, multi-generation plans, progress tracking
Shortterm shortterm.md 1-2 sessions Next-session handoff, immediate context to pass forward

Unlike Genome (strict immutability during generation) and Lineage (auto-compressed), Memory has no constraints — the AI writes freely throughout any stage.

Lineage Compression (Two-Level)

The lineage system prevents unbounded context accumulation:

Level 1 — After a generation completes:

  • 5 stage artifacts (01-learning.md through 05-completion.md) → 1 summary file
  • DAG metadata preserved for branch traversal

Level 2 — After 100+ Level 1 summaries:

  • 100+ summary files → single epoch.md
  • DAG metadata preserved

This means a project with hundreds of generations still has a bounded, navigable history.

Backlog as Deferred Knowledge

.reap/life/backlog/ — one YAML file per item:

  • type: genome-change — genome mutations staged for adapt phase
  • type: environment-change — environment updates staged for reflect phase
  • type: task — work items for future generations

Backlog items automatically carry over between generations. Consumed items are archived with the generation's lineage entry.

Session Initialization (Claude Code)

  1. ~/.claude/settings.json SessionStart hook triggers reap load-context
  2. reap load-context writes/refreshes CLAUDE.md with current @ import paths
  3. Claude Code loads CLAUDE.md → follows @ imports → genome + environment summary enter context
  4. Agent has full project knowledge before the first user message

Session Initialization (OpenCode)

  1. .opencode/plugins/reap-plugin.ts fires on session.created
  2. Plugin reads .reap/.session-state.md and injects it into the session
  3. tool.execute.before hook refreshes state on every tool call

Cross-Generation Context Preservation

The 3-tier memory system handles what gets preserved vs. pruned:

  • Shortterm is cleared after 1-2 sessions — prevents stale context
  • Midterm persists across multiple generations for long-running initiatives
  • Longterm accumulates project-lifetime wisdom — architectural decisions, recurring patterns

This mirrors a team's institutional memory: junior devs (shortterm) learn quickly, senior devs (midterm) remember the current project, architects (longterm) remember why things are the way they are.

07

Orchestration

REAP (c-d-cc/reap) — Orchestration

Single-Agent Default

REAP's default execution model is a single AI agent working through the 5-stage generation lifecycle. Multi-agent patterns are opt-in via cruise mode and subagent delegation.

Subagent Delegation (autoSubagent: true)

When autoSubagent: true is set in .reap/config.yml:

  • /reap.evolve delegates the entire generation to a subagent
  • The subagent runs autonomously through all 5 stages
  • It surfaces only when genuinely blocked (no routine check-ins)
  • Human reviews at the fitness phase (completion stage)

Cruise Mode (Autonomous N-Generation Loop)

Set cruiseCount: current/total in .reap/config.yml:

  1. AI selects goals from vision gaps (gap between vision/goals.md and current state)
  2. Runs the full lifecycle for generation N autonomously
  3. Increments the counter
  4. If uncertainty or risk is detected mid-generation → pauses → requests human feedback
  5. After all N generations: presents batch to human for fitness review

This is REAP's closest analog to continuous-ralph execution: multiple generations run back-to-back without manual restarts, with the AI self-selecting goals from the vision backlog.

Merge Lifecycle (Multi-Agent / Multi-Developer)

For parallel branches (multiple developers or parallel agents):

detect → mate → merge → reconcile → validation → completion

The genome-first ordering is key: genome conflicts are resolved before code conflicts. This ensures that any code merge is performed with a shared, agreed-upon understanding of constraints and conventions.

The mate stage uses a 3-way diff: base genome (common ancestor) + branch-A genome + branch-B genome. Human resolves conflicts. The merged genome then guides the code merge in the next stage.

Nonce-Chain Coordination

The nonce chain in life/current.yml is the primary coordination mechanism:

  • Prevents two agents from simultaneously advancing the same stage
  • Prevents replaying stale commands against new state
  • Enforces the learning → planning → implementation ↔ validation → completion ordering

There is no centralized orchestrator; the nonce chain is the lock.

Clarity-Driven Verbosity

The AI adapts interaction density based on context clarity:

  • High clarity → minimal interruptions, execute autonomously
  • Medium clarity → present 2-3 options with tradeoffs, pick the best
  • Low clarity → active dialogue with examples

This means cruise mode naturally becomes quieter as the project matures and the knowledge base becomes richer.

Project Maturity States

REAP tracks project maturity and adjusts AI behavior accordingly:

  • Bootstrap: early project — genome is being established, AI asks more questions
  • Growth: active development — genome is stable, AI follows conventions confidently
  • Cruise: mature project — AI selects goals autonomously from vision gaps

Maturity state is tracked in .reap/ state files and affects how aggressively the AI acts on its own judgment.

No External Orchestration Infrastructure

Unlike ag-coding-flywheel (NTM + Agent Mail) or claude-flow (MCP server), REAP has no external orchestration service:

  • No message broker
  • No file reservation system
  • No separate swarm coordinator

Coordination is entirely through the file-based state in .reap/life/current.yml and the nonce chain. This makes REAP simpler to install but less suited for high-concurrency multi-agent scenarios.

08

Ui Cli Surface

REAP (c-d-cc/reap) — UI & CLI Surface

No Local UI

REAP has no desktop app, web UI, or dashboard. All interaction is through the AI agent's native interface (Claude Code or OpenCode) using slash commands.

CLI Binary (reap)

The reap CLI is the internal engine — users rarely call it directly. It is invoked by slash commands and hooks.

Internal command Purpose
reap init Initialize REAP in a project
reap load-context Refresh CLAUDE.md/AGENTS.md with current @ import paths
reap install-skills Deploy slash commands to ~/.claude/commands/ or OpenCode equivalent
reap update Regenerate client-specific assets (after agentClient change or upgrade)
reap run <cmd> Execute a lifecycle command and return structured JSON instructions

Slash Commands (User Surface)

15 commands available in the AI agent's native slash-command interface:

/reap.init          — Initialize REAP
/reap.evolve        — Run a complete generation (primary command)
/reap.start         — Start a new generation
/reap.next          — Advance to next stage
/reap.back          — Return to previous stage
/reap.early-close   — Lightweight abort with task deferral
/reap.abort         — Full generation abort
/reap.knowledge     — Review/manage genome and environment
/reap.merge         — Merge lifecycle operations
/reap.pull          — Fetch + merge lifecycle
/reap.push          — Validate + push
/reap.status        — Check current state
/reap.help          — Show available commands
/reap.run           — Execute lifecycle command directly
/reap.config        — View/edit project configuration

Installation Surface

npm install -g @c-d-cc/reap

After install:

  • Slash commands auto-deployed to ~/.claude/commands/reap.*.md
  • SessionStart hook registered in ~/.claude/settings.json

After /reap.init:

  • .reap/ directory created in project
  • CLAUDE.md or AGENTS.md written to project root
  • .reap/config.yml written with defaults

Configuration Interface

.reap/config.yml is the only configuration file users edit directly:

project: my-project
language: english
autoSubagent: true
strictEdit: false
strictMerge: false
agentClient: claude-code
# cruiseCount: 1/5    # Present = cruise mode active

Multi-Language Support

README available in: English, Korean (한국어), Japanese (日本語), Simplified Chinese (简体中文), German (Deutsch). The language: config field controls artifact and prompt language.

Website

Documentation at reap.cc with dedicated pages for:

  • Introduction, quick-start, lifecycle
  • Core concepts (genome, environment, vision, lineage, backlog)
  • Self-evolving features
  • Merge lifecycle
  • Command reference
  • Configuration
  • Migration guide (v0.15 → v0.16)

Related frameworks

same archetype · same primary tool · same memory type

alirezarezvani/claude-skills ★ 16k

313+ skills for 12 AI tools covering engineering, marketing, C-level advisory, compliance, research, and finance — all from one…

MoAI-ADK ★ 1.0k

Implements Harness Engineering as a Go-binary-installed Claude Code environment with auto-TDD/DDD methodology selection, 20-event…

Codex Harness MCP ★ 7

Gives MCP-capable coding agents a local contract-lifecycle harness with governance audits and explicit completion gates.

meta-agent-teams (jbrahy) ★ 2

Build self-improving AI agent teams via a supervised training loop: specialist agents advise, a meta-agent evolves prompts based…

Browser Harness ★ 14k

Thin, self-healing CDP harness connecting an LLM to the user's real Chrome browser with coordinate-first clicking and…

SwarmVault ★ 492

Production-grade CLI for Karpathy's LLM Wiki pattern: ingests any content into a local-first durable markdown wiki + knowledge…