{"id":47597392,"url":"https://github.com/c-d-cc/reap","last_synced_at":"2026-04-01T18:22:29.767Z","repository":{"id":345118869,"uuid":"1182370506","full_name":"c-d-cc/reap","owner":"c-d-cc","description":"Recursive Evolutionary Autonomous Pipeline — AI and humans evolve software across generations","archived":false,"fork":false,"pushed_at":"2026-03-25T04:47:27.000Z","size":2385,"stargazers_count":12,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-25T12:02:14.216Z","etag":null,"topics":["ai","claude","cli","development","genome","lifecycle","pipeline"],"latest_commit_sha":null,"homepage":"https://reap.cc/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/c-d-cc.png","metadata":{"files":{"readme":"README.ko.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-15T12:34:30.000Z","updated_at":"2026-03-25T04:47:31.000Z","dependencies_parsed_at":"2026-03-18T08:00:55.450Z","dependency_job_id":null,"html_url":"https://github.com/c-d-cc/reap","commit_stats":null,"previous_names":["c-d-cc/reap"],"tags_count":50,"template":false,"template_full_name":null,"purl":"pkg:github/c-d-cc/reap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-d-cc%2Freap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-d-cc%2Freap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-d-cc%2Freap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-d-cc%2Freap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/c-d-cc","download_url":"https://codeload.github.com/c-d-cc/reap/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-d-cc%2Freap/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30971899,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-26T14:13:19.610Z","status":"ssl_error","status_checked_at":"2026-03-26T14:12:43.279Z","response_time":114,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","claude","cli","development","genome","lifecycle","pipeline"],"created_at":"2026-04-01T18:22:29.665Z","updated_at":"2026-04-01T18:22:29.739Z","avatar_url":"https://github.com/c-d-cc.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/c-d-cc/reap/main/media/logo.png\" alt=\"REAP\" width=\"80\" height=\"80\" /\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eREAP\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eRecursive Evolutionary Autonomous Pipeline\u003c/strong\u003e\u003cbr\u003e\n  AI와 인간이 세대를 거치며 소프트웨어를 공동 진화시키는 자기 진화형 개발 파이프라인.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/c-d-cc/reap/main/media/architecture.png\" alt=\"REAP Architecture\" width=\"600\" /\u003e\n\u003c/p\u003e\n\nREAP는 AI와 인간이 협력하여 소프트웨어를 구축하고 진화시키는 세대 기반 개발 파이프라인입니다. 인간은 비전을 제공하고 핵심 의사결정을 내립니다. AI는 프로젝트의 지식 — Genome(아키텍처, 컨벤션, 제약 조건)과 Environment(코드베이스, 의존성, 도메인) — 을 학습한 뒤, 구조화된 세대를 거치며 구현, 검증, 적응합니다. 각 세대가 완료될 때마다 교훈이 지식 기반에 반영됩니다. 시간이 지남에 따라 지식과 소스 코드(Civilization) 모두가 자기 진화합니다.\n\n## 목차\n\n- [REAP란 무엇인가?](#reap란-무엇인가)\n- [설치](#설치)\n- [빠른 시작](#빠른-시작-)\n- [생명 주기](#생명-주기-)\n- [핵심 개념](#핵심-개념-)\n- [병합 생명 주기](#병합-생명-주기-)\n- [자기 진화 기능](#자기-진화-기능-)\n- [슬래시 명령어](#슬래시-명령어-)\n- [에이전트 통합](#에이전트-통합-)\n- [프로젝트 구조](#프로젝트-구조)\n- [설정](#설정-)\n- [v0.15에서 업그레이드](#v015에서-업그레이드-)\n\n## REAP란 무엇인가? [↗](https://reap.cc/docs/introduction)\n\nAI 에이전트와 개발할 때 이런 문제를 겪어 본 적 있으신가요?\n\n- **컨텍스트 유실** — 새 세션을 시작하면 에이전트가 모든 것을 잊어버림\n- **산발적 개발** — 명확한 방향이나 목표 없이 코드가 수정됨\n- **설계-코드 괴리** — 문서가 실제 구현과 동떨어짐\n- **교훈 망각** — 어렵게 얻은 인사이트가 다음으로 전달되지 않음\n- **협업 혼란** — 여러 에이전트나 개발자가 충돌하는 변경을 만들어냄\n\nREAP는 이러한 문제를 **자기 진화 세대 모델**로 해결합니다:\n\n- 각 세대는 구조화된 생명 주기를 따릅니다: 현재 상태 학습, 목표 수립, 구현, 검증, 회고\n- AI 에이전트가 매 세션 시작 시 전체 프로젝트 컨텍스트를 자동 복원합니다\n- 규범적 지식(Genome)은 각 세대 완료 시 인간이 승인한 적응을 통해 진화합니다\n- AI가 비전과 현재 상태 사이의 간극을 분석하여 자동으로 목표를 선택합니다\n- 명확성 기반 상호작용으로 AI가 구조, 예시, 솔직한 의견을 갖추어 소통합니다\n- 브랜치 간 병렬 작업은 genome 우선 병합 워크플로우를 통해 조정됩니다\n\n## 설치\n\n\u003e **전역 설치가 필요합니다.**\n\n```bash\nnpm install -g @c-d-cc/reap\n```\n\n\u003e **요구 사항**: [Node.js](https://nodejs.org) v18+, [Claude Code](https://claude.ai/claude-code) CLI.\n\n## 빠른 시작 [↗](https://reap.cc/docs/quick-start)\n\nAI 에이전트(Claude Code)를 열고 슬래시 명령어를 사용하세요:\n\n```bash\n# 프로젝트에 REAP 초기화 (신규 프로젝트 vs 기존 코드베이스 자동 감지)\n/reap.init\n\n# 전체 세대 실행\n/reap.evolve\n```\n\n`/reap.evolve`는 학습부터 완료까지 전체 세대 생명 주기를 주도합니다. AI가 프로젝트를 탐색하고, 작업을 계획하고, 구현하고, 검증하고, 회고합니다. 일상적인 개발에서 사용하는 주요 명령어입니다.\n\n\u003e **참고:** 사용자는 AI 에이전트에서 `/reap.*` 슬래시 명령어를 통해 REAP와 상호작용합니다. CLI는 이러한 명령어를 구동하는 내부 엔진입니다.\n\n## 생명 주기 [↗](https://reap.cc/docs/lifecycle)\n\n각 세대는 다섯 단계의 생명 주기를 따릅니다.\n\n```\nlearning → planning → implementation ⟷ validation → completion\n```\n\n| 단계 | 수행 내용 | 산출물 |\n|------|----------|--------|\n| **Learning** | 프로젝트 탐색, 컨텍스트 구축, genome과 environment 검토 | `01-learning.md` |\n| **Planning** | 목표 정의, 작업 분해, 의존성 매핑 | `02-planning.md` |\n| **Implementation** | AI-인간 협업으로 구현 | `03-implementation.md` |\n| **Validation** | 테스트 실행, 완료 기준 검증 | `04-validation.md` |\n| **Completion** | 회고, 적합도 피드백 수집, genome 적응, 아카이브 | `05-completion.md` |\n\n## 핵심 개념 [↗](https://reap.cc/docs/core-concepts)\n\n### Genome — 구축 방법 [↗](https://reap.cc/docs/genome)\n\n프로젝트의 규범적 지식입니다. 세 개의 파일로 구성되며 항상 전체 로딩됩니다:\n\n```\n.reap/genome/\n  application.md    # 프로젝트 정체성, 아키텍처, 컨벤션, 제약 조건\n  evolution.md      # AI 행동 가이드, 진화 방향, 소프트 생명 주기 규칙\n  invariants.md     # 절대 제약 (인간만 편집 가능)\n```\n\n### Environment — 현재 존재하는 것 [↗](https://reap.cc/docs/environment)\n\n프로젝트의 서술적 지식입니다. 2단계 로딩 전략을 사용합니다:\n\n```\n.reap/environment/\n  summary.md        # 세션 시작 시 항상 로딩 (~100줄)\n  domain/           # 도메인 지식 (필요 시 로딩)\n  resources/        # 외부 참조 문서 — API 문서, SDK 스펙 (필요 시 로딩)\n  docs/             # 프로젝트 참조 문서 — 설계 문서, 스펙 (필요 시 로딩)\n  source-map.md     # 현재 코드 구조 + 의존성 (필요 시 로딩)\n```\n\n### Vision — 향해 가는 곳 [↗](https://reap.cc/docs/vision)\n\n장기 목표와 방향입니다. AI는 적응 단계에서 다음에 가장 가치 있는 작업을 결정하기 위해 vision을 참조합니다.\n\n```\n.reap/vision/\n  goals.md          # 북극성 목표\n  docs/             # 기획 문서\n  memory/           # AI 메모리 (3계층: longterm, midterm, shortterm)\n```\n\n### Backlog [↗](https://reap.cc/docs/backlog)\n\n세대 진행 중 발견된 이슈는 즉시 수정하지 않습니다. `.reap/life/backlog/`에 backlog 항목으로 기록됩니다:\n\n- `type: genome-change` — 적응 단계에서 적용할 genome 변경\n- `type: environment-change` — environment 업데이트\n- `type: task` — 향후 세대를 위한 작업 항목\n\nBacklog 항목은 세대 간 자동으로 이월됩니다. 소비된 항목은 해당 세대의 lineage와 함께 아카이브됩니다.\n\n### Lineage — 우리가 배운 것 [↗](https://reap.cc/docs/lineage)\n\n완료된 세대의 아카이브로, 2단계 자동 압축을 제공합니다:\n\n- **Level 1**: 세대 폴더 (5개 산출물) → 단일 요약 파일\n- **Level 2**: 100개 이상의 Level 1 파일 → 단일 `epoch.md`\n\n브랜치 인식 lineage 탐색을 위한 DAG 메타데이터가 보존됩니다.\n\n### Hooks [↗](https://reap.cc/docs/hooks)\n\n`.reap/hooks/`에 위치한 파일 기반 생명 주기 이벤트 훅:\n- `.md` 파일: 에이전트가 실행하는 AI 프롬프트\n- `.sh` 파일: 직접 실행되는 셸 스크립트\n\n### 원칙\n\n- **Genome 불변성**: Genome은 세대 진행 중 절대 수정되지 않습니다. 이슈는 backlog에 기록되고 completion의 적응 단계에서 적용됩니다.\n- **Environment 불변성**: Environment는 세대 진행 중 직접 수정되지 않습니다. 변경 사항은 backlog에 기록되고 completion의 회고 단계에서 적용됩니다.\n- **인간이 적합도를 판단**: 정량적 메트릭 없음. 인간의 자연어 피드백만이 유일한 적합도 신호입니다.\n- **자기 적합도 평가 금지**: AI는 자신의 성공을 절대 평가하지 않습니다. 자기 성찰(메타인지)만 허용됩니다.\n\n## 병합 생명 주기 [↗](https://reap.cc/docs/merge-generation)\n\n여러 개발자나 에이전트가 병렬로 작업할 때, REAP는 genome 우선 병합 워크플로우를 제공합니다.\n\n```\ndetect → mate → merge → reconcile → validation → completion\n```\n\n| 단계 | 목적 |\n|------|------|\n| **Detect** | 브랜치 간 분기 식별 |\n| **Mate** | genome 충돌을 먼저 해결 (인간이 결정) |\n| **Merge** | 확정된 genome을 기반으로 소스 코드 병합 |\n| **Reconcile** | genome-소스 일관성 검증 |\n| **Validation** | 테스트 실행 |\n| **Completion** | 병합 결과 커밋 및 아카이브 |\n\n## 자기 진화 기능 [↗](https://reap.cc/docs/self-evolving)\n\n### 간극 기반 목표 선택\n\nAI는 비전과 현재 상태 사이의 간극을 분석하여 다음 세대의 목표를 자동으로 선택합니다. `vision/goals.md`의 미완료 목표와 대기 중인 backlog 항목을 교차 참조하고, 영향력 순으로 우선순위를 매기며, 가장 가치 있는 다음 단계를 제안합니다. 인간이 승인하거나 조정합니다.\n\n### 인간이 적합도를 판단\n\n정량적 메트릭 없음. 적합도 단계에서의 인간의 자연어 피드백만이 유일한 적합도 신호입니다. AI는 자신의 성공을 절대 평가하지 않습니다 — 자기 성찰(메타인지)만 허용됩니다.\n\n### 명확성 기반 상호작용\n\nAI는 현재 컨텍스트의 명확도에 따라 소통 방식을 조정합니다:\n\n- **높은 명확도** (명확한 목표, 정의된 작업) → 최소한의 질문으로 실행\n- **중간 명확도** (방향은 있으나 세부 사항이 불분명) → 트레이드오프와 함께 2-3개 선택지 제시\n- **낮은 명확도** (모호한 목표) → 공유된 이해를 구축하기 위한 예시와 함께 적극적 대화\n\n### Cruise 모드\n\nN개 세대를 사전 승인하여 자율 실행:\n- AI가 비전 간극에서 목표를 선택하고 전체 생명 주기를 자율적으로 실행\n- 불확실성이나 위험이 감지되면 cruise가 일시 정지하고 인간 피드백을 요청\n- N개 세대 모두 완료 후 인간이 일괄 검토\n\n## 슬래시 명령어 [↗](https://reap.cc/docs/command-reference)\n\n| 명령어 | 설명 |\n|--------|------|\n| `/reap.evolve` | 전체 세대 실행 (권장) |\n| `/reap.start` | 새 세대 시작 |\n| `/reap.next` | 다음 단계로 진행 |\n| `/reap.back` | 이전 단계로 돌아감 |\n| `/reap.abort` | 현재 세대 중단 |\n| `/reap.knowledge` | genome/environment 검토 및 관리 |\n| `/reap.merge` | 병합 생명 주기 작업 |\n| `/reap.pull` | Fetch + 병합 생명 주기 |\n| `/reap.push` | 검증 + push |\n| `/reap.status` | 현재 상태 확인 |\n| `/reap.help` | 사용 가능한 명령어 표시 |\n| `/reap.init` | 프로젝트에 REAP 초기화 |\n| `/reap.run` | 생명 주기 명령어 직접 실행 |\n| `/reap.config` | 프로젝트 설정 조회/편집 |\n\n## 에이전트 통합\n\nREAP는 슬래시 명령어와 생명 주기 훅을 통해 AI 에이전트와 통합됩니다. 현재 지원: **Claude Code**. 향후 에이전트 지원을 위해 어댑터 패턴 아키텍처를 사용합니다.\n\n### 동작 방식\n\n1. **CLAUDE.md**가 세션 시작 시 genome, environment, reap-guide를 로딩하도록 AI에 지시\n2. **슬래시 명령어**가 `reap run \u003ccmd\u003e`를 호출하고, AI에게 구조화된 JSON 지시를 반환\n3. **서명 기반 잠금** (nonce 체인)이 코드 수준에서 단계 순서를 강제 — 건너뛰기, 위조, 재생 불가\n\n### 서브에이전트 모드\n\n`/reap.evolve`는 전체 세대를 서브에이전트에 위임하여 모든 단계를 자율적으로 수행하게 할 수 있으며, 진정으로 막혔을 때만 사용자에게 알립니다.\n\n## 프로젝트 구조\n\n```\nmy-project/\n  src/                        # 여러분의 코드\n  .reap/\n    config.yml                # 프로젝트 설정\n    genome/                   # 규범적 지식 (3개 파일)\n      application.md\n      evolution.md\n      invariants.md\n    environment/              # 서술적 지식 (2단계)\n      summary.md\n      domain/\n      resources/              # 외부 참조 문서 (API, SDK)\n      docs/                   # 프로젝트 참조 문서 (설계, 스펙)\n      source-map.md\n    vision/                   # 장기 목표\n      goals.md\n      docs/\n      memory/                 # AI 메모리 (longterm/midterm/shortterm)\n    life/                     # 현재 세대\n      current.yml\n      backlog/\n    lineage/                  # 완료된 세대 아카이브\n    hooks/                    # 생명 주기 훅 (.md/.sh)\n```\n\n## 설정 [↗](https://reap.cc/docs/configuration)\n\n`.reap/config.yml`의 프로젝트 설정:\n\n```yaml\nproject: my-project           # 프로젝트 이름\nlanguage: english              # 산출물/프롬프트 언어\nautoSubagent: true             # evolve에서 서브에이전트 자동 위임\nstrictEdit: false               # 코드 변경을 REAP 생명 주기로 제한\nstrictMerge: false              # 직접 git pull/push/merge 제한\nagentClient: claude-code       # AI 에이전트 클라이언트\n# cruiseCount: 1/5             # 존재 시 = cruise 모드 (현재/전체)\n```\n\n주요 설정:\n- **`cruiseCount`**: 존재하면 cruise 모드를 활성화합니다. 형식은 `현재/전체`. cruise 완료 후 제거됩니다.\n- **`strictEdit`**: 코드 변경을 계획된 범위 내 구현 단계로 제한합니다.\n- **`strictMerge`**: 직접 git pull/push/merge를 제한합니다 — 대신 `/reap.pull`, `/reap.push`, `/reap.merge`를 사용하세요.\n- **`agentClient`**: 스킬 배포에 사용할 어댑터를 결정합니다.\n\n## v0.15에서 업그레이드 [↗](https://reap.cc/docs/migration-guide)\n\nREAP v0.16은 [Self-Evolving Pipeline](https://reap.cc/docs/self-evolving) 아키텍처를 기반으로 완전히 재작성되었습니다.\n\n### 마이그레이션 단계\n\n1. **v0.16 설치:**\n   ```bash\n   npm install -g @c-d-cc/reap\n   ```\n   v0.16 스킬이 `~/.claude/commands/`에 자동 설치되고, 레거시 v0.15 프로젝트 레벨 스킬이 제거됩니다.\n\n2. **프로젝트에서 Claude Code를 열고** 실행:\n   ```\n   /reap.update\n   ```\n\n3. **다단계 마이그레이션을 따르세요:**\n\n   | 단계 | 수행 내용 | 여러분의 역할 |\n   |------|----------|--------------|\n   | **Confirm** | 변경 사항 표시, `.reap/v15/`에 백업 생성 | 검토 및 확인 |\n   | **Execute** | 디렉토리 재구성, config/hooks/lineage/backlog 마이그레이션 | 자동 |\n   | **Genome Convert** | AI가 v0.15 파일에서 새로운 3파일 구조로 genome 재구성 | AI 작업 검토 |\n   | **Vision** | vision/goals.md 및 memory 설정 | 프로젝트 방향 제시 |\n   | **Complete** | 마이그레이션 결과 요약 | 확인 |\n\n4. **프로젝트 동작 확인:**\n   ```\n   /reap.status\n   /reap.evolve\n   ```\n\n### 중단된 마이그레이션\n\n마이그레이션이 중단되면 (API 오류, 세션 연결 끊김 등), 진행 상황이 `.reap/migration-state.yml`에 저장됩니다. `/reap.update`를 다시 실행하면 이미 완료된 단계를 건너뛰고 중단된 지점부터 재개합니다.\n\n처음부터 다시 시작하려면 `.reap/migration-state.yml`을 삭제하고 `/reap.update`를 다시 실행하세요.\n\n### 백업\n\n모든 v0.15 파일은 `.reap/v15/`에 보존됩니다. 마이그레이션 검증 후 이 디렉토리를 안전하게 삭제할 수 있습니다.\n\n### 변경 사항\n\n**생명 주기 재설계:**\n- 첫 번째 단계가 이제 `learning`입니다 (이전에는 `objective`). AI가 목표를 설정하기 전에 프로젝트를 탐색합니다.\n- Completion이 이제 4단계입니다: `reflect` → `fitness` → `adapt` → `commit` (이전에는 5단계).\n- 새로운 개념: embryo 세대, cruise 모드, 비전 기반 기획.\n\n**Vision 레이어 추가:**\n- `vision/goals.md` — 장기 목표, 적응 단계에서 간극 기반 목표 선택\n- `vision/memory/` — 3계층 메모리 (longterm, midterm, shortterm), 세대 간 컨텍스트 유지\n- `vision/design/` — 기획 문서 및 스펙\n\n**Genome 재구성 (3파일):**\n- `application.md` — 프로젝트 정체성, 아키텍처, 컨벤션, 제약 조건\n- `evolution.md` — AI 행동 가이드, 진화 방향, 소프트 생명 주기 규칙\n- `invariants.md` — 절대 제약 (인간만 편집 가능)\n\n**새로운 기능:**\n- 명확성 기반 상호작용: AI가 컨텍스트 명확도에 따라 소통 깊이를 조정\n- Cruise 모드: N개 세대를 사전 승인하면 AI가 자기 성찰과 함께 자율 실행\n- 조정(reconcile) 단계를 포함한 병합 생명 주기로 genome-소스 일관성 검증\n- 세대 간 컨텍스트를 위한 3계층 메모리를 갖춘 vision 시스템\n\n**폐기된 명령어:**\n- `/reap.sync` → `/reap.knowledge`\n- `/reap.refreshKnowledge` → `/reap.knowledge`\n\n## 저자\n\n**최현일** — [hichoi@c-d.cc](mailto:hichoi@c-d.cc) | [c-d.cc](https://c-d.cc) | [LinkedIn](https://www.linkedin.com/in/hichoi-dev) | [GitHub](https://github.com/casamia918)\n\n## 라이선스\n\nMIT\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc-d-cc%2Freap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fc-d-cc%2Freap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc-d-cc%2Freap/lists"}