Document

Project Memory System for AI Development

AI 시대에 프로젝트의 기억을 Git 기반 문서로 외부화하여 모델에 의존하지 않고 지속 가능하게 관리하는 Project Memory System.

철학

AI 시대의 핵심 문제는 코드를 생성하는 능력이 아니다.

핵심 문제는 다음과 같다.

  • 프로젝트 의도 유지
  • 아키텍처 일관성 유지
  • 작업 범위 제어
  • 반복 실수 방지
  • 컨텍스트 관리
  • 모델 교체 가능성

REPL Works는 Agent Framework가 아니다.

REPL Works는 인간과 AI의 협업을 위한 Project Memory System이다.


핵심 원칙

Thinking과 Execution을 분리한다

REPL Works는 하나의 AI에게 모든 역할을 맡기지 않는다.

Discussion AI는 인간과 함께 생각한다.

Execution AI는 구현한다.

인간은 방향을 결정하고 결과를 승인한다.

Human

Discussion AI

→ Idea
→ Architecture
→ Planning

Execution AI

→ Implementation

Human

→ Approval

모든 문서는 토론의 결과물이다

문서는 먼저 작성되는 것이 아니다.

문서는 토론의 결과로 생성된다.

Human

Discussion AI



Consensus



Document

예시

Idea Discussion

IDEAS.md

Architecture Discussion

ARCHITECTURE.md

Planning Discussion

TASKS.md

Memory Discussion

LONG_CONTEXT.md

Git은 진실의 출처

프로젝트는 Git으로 시작한다.

git init

모든 변경사항은 Git으로 관리한다.

모든 구현은 Branch → PR → Merge를 통해 진행한다.

프로젝트의 진실(Source of Truth)은 Git에 존재한다.


Commit은 인간의 승인이다

코드는 AI가 작성할 수 있다.

하지만 프로젝트 상태는 인간이 승인한 변경만으로 정의된다.

AI

Code Proposal

Human Approval

Commit

Commit은 코드 저장이 아니다.

Commit은 인간의 승인 기록이다.


모델은 교체 가능해야 한다

GPT
Claude
Gemini
Codex
Cursor
Future Models

모두 교체 가능해야 한다.

프로젝트의 가치는 모델이 아니라 Git에 저장된 기억에 있다.


문서 소유권

Planning Runtime

채팅창

역할

Idea Discussion
Architecture Design
Task Planning
Prompt Design
Memory Generation
Decision Making
Document Creation

Execution Runtime

코딩창

역할

Implementation
Refactoring
Testing
Bug Fixing

규칙

모든 Markdown 문서는 원칙적으로 Planning Runtime에서 생성한다.

모든 Markdown 문서는 원칙적으로 Planning Runtime에서 수정한다.


Execution Runtime은 문서의 대규모 수정(Rebuild, Rewrite, Revise)을 수행하지 않는다.


예외적으로 다음 문서만 최소 수정 가능하다.

TASKS.md
ARCHITECTURE.md

워크플로 개요

git init

IDEAS.md
+
PITCHING_SCRIPT.md

commit

ARCHITECTURE.md

commit

AGENTS.md

commit

TASKS.md

commit

Development Loop

Release

README.md

Phase 1. 아이디어 정제

목적

아이디어를 사업적으로 검증한다.


Discussion AI와 반복적으로 토론한다.


검토 항목

아이디어가 충분히 매력적인가?

2년 이상 유지 가능한가?

예상 비용은 감당 가능한가?

BEP는 언제 달성 가능한가?

시장 규모는 충분한가?

사용자 증가 예측은 합리적인가?

산출물

IDEAS.md

프로젝트 의사결정 문서


PITCHING_SCRIPT.md

프로젝트 의도 문서


커밋

두 문서는 반드시 같은 Commit으로 생성한다.

git commit -m "docs: initialize product vision"

Phase 2. 아키텍처 설계

목적

프로젝트 전체 구조 정의


Execution AI는 ARCHITECTURE.md만 읽어도 프로젝트를 이해할 수 있어야 한다.


IDEAS.md와 PITCHING_SCRIPT.md는 개발 단계의 필수 문서가 아니다.


아키텍처 구조

ARCHITECTURE.md

architecture/
├── frontend.md
├── backend.md
├── database.md
└── auth.md

ARCHITECTURE.md는 Index 역할을 수행한다.

세부 설계는 architecture/ 디렉터리에 위치한다.


ARCHITECTURE.md는 프로젝트의 기술적 진실이다.


Phase 3. 헌법

목적

프로젝트 규칙 정의


산출물

AGENTS.md


AGENTS.md는 프로젝트 헌법이다.

동시에 모든 AI의 진입점이다.


AI는 항상 AGENTS.md부터 읽는다.


포함 항목

읽기 순서

ARCHITECTURE.md

TASKS.md

에이전트 레지스트리

agents/

규칙

Never create files in repository root

Reuse existing components first

Every feature must include unit tests

Build must pass

Lint must pass

Tests must pass

All task updates must trigger architecture review

Only architecture-impacting changes may modify architecture documents

Phase 4. 태스크 계획

목적

현재 개발 상태 정의


산출물

TASKS.md


TASKS.md는 현재 위치를 설명하는 문서다.


반드시 Phase로 그룹화한다.

Phase 1

- [ ]

Phase 2

- [ ]

ARCHITECTURE.md는 목적지다.

TASKS.md는 현재 위치다.


개발 루프

1단계

TASKS.md에서 작업 선택


2단계

Planning Runtime에서 구현 전략 논의


계획 수립과 구현은 분리한다.


3단계

Prompt 생성


Execution Runtime에 전달할 Prompt를 생성한다.


4단계

Branch 생성

git checkout -b feature/xxx

5단계

Execution Runtime에서 구현


모든 기능은 반드시 Unit Test를 포함해야 한다.


필수 조건

Build Success

Lint Success

Test Success

실패 시 수정 후 재실행한다.


6단계

Pull Request 생성


7단계

Human Review


8단계

Merge


9단계

TASKS.md 업데이트

- [x]

10단계

필요 시 ARCHITECTURE.md 업데이트


구조 변경이 발생한 경우에만 수행한다.


LONG_CONTEXT

목적

프로젝트 기억 압축


LONG_CONTEXT.md는 구현 문서가 아니다.

하지만 프로젝트 기억의 일부이다.


다음 상황에서 사용한다.

새로운 모델 사용

새로운 채팅 시작

기존 채팅 Context 소멸

장기간 프로젝트 중단 후 재개

사용 방법

새로운 채팅을 시작한 뒤 첫 메시지로 전달한다.


AGENTS.md에 등록하지 않는다.

Execution Runtime은 기본적으로 읽지 않는다.


생성 시점

소규모 프로젝트

TASKS.md 완료 시

대규모 프로젝트

Phase 완료 시

필요한 경우 수동으로 갱신할 수 있다.


포함 내용

왜 중요한 결정을 내렸는가

어떤 접근을 선택했는가

어떤 접근을 포기했는가

프로젝트 철학은 무엇인가

미래의 AI가 반드시 이해해야 하는 맥락은 무엇인가

LONG_CONTEXT.md는 대화 기록이 아니다.

대화에서 살아남은 기억이다.


배포

배포 수행


README.md

외부 사용자를 위한 문서


프로젝트가 충분히 완성된 이후 생성한다.


README.md는 마케팅 문서이자 진입 문서다.


지속 자산

Project Memory

Git

ARCHITECTURE.md

AGENTS.md

TASKS.md

LONG_CONTEXT.md

Human Documents

docs/IDEAS.md

docs/PITCHING_SCRIPT.md

Session Memory

Current Chat

프로젝트 기억은 Git에 저장된다.

세션 기억은 언제든지 사라질 수 있다.


어떤 모델이든 프로젝트는 Git으로 복원할 수 있어야 한다.

어떤 세션이든 LONG_CONTEXT.md로 이어갈 수 있어야 한다.