# Claude 메모리 시스템 스타터 (레벨 1 + 레벨 2)

프로젝트 루트의 `CLAUDE.md`에 아래 두 블록을 붙여넣으면 끝입니다.
Claude Code는 작업 폴더의 `CLAUDE.md`를 자동으로 읽으므로 별도 설정이 필요 없습니다.

준비물: `CLAUDE.md`, `memory-log.md` 두 파일. 설치도 API 키도 없습니다.

---

## 1. CLAUDE.md에 붙여넣기 — 레벨 1 (세션 간 기억)

```markdown
## 기억 라우팅 (로컬 파일 기반)

- **자동 요약**: 세션에서 실질적인 작업(파일 생성·수정, 결정, 배포 등)이
  있었고 세션이 마무리되는 시점이면, 무슨 작업을 했고 어떤 결론·결정을
  냈고 남은 일이 뭔지 핵심만 정리해서 memory-log.md 맨 위(최신순)에
  새 항목으로 추가한다. 항목 제목 형식: "## YYYY-MM-DD — 제목".
  사용자가 "요약"이라고 명시적으로 말하면 그 즉시도 실행한다.
- **세션을 새로 시작할 때**: 지금 하려는 작업과 관련된 과거 맥락이
  필요하면 memory-log.md에서 관련 항목만 찾아 읽는다. 전체를 다
  읽지 않는다.
- **압축**: memory-log.md의 "## " 항목이 10개를 넘으면
  compress-memory-log.mjs로 오래된 항목을 memory-log-archive.md로
  옮기고, memory-log.md엔 최신 10개 + 한 줄 인덱스만 남긴다.
```

## 2. CLAUDE.md에 붙여넣기 — 레벨 2 (주제별 영구 지식)

```markdown
## 주제별 지식 파일 (memory/ 폴더)

작업 중 새로운 버그 해결법·규칙·패턴을 발견하면
해당 주제의 memory/*.md 파일에 즉시 추가한다.
memory-log.md는 시간순 요약, memory/*.md는 영구 지식 저장소.
```

`memory/` 폴더는 프로젝트에 맞게 나눕니다. 예시:

| 파일 | 역할 |
|------|------|
| `memory-log.md` | 세션 요약 (시간순, 최신 10개 유지) |
| `memory/<도메인A>.md` | 그 도메인의 규칙·버그 해결법·체크리스트 |
| `memory/<도메인B>.md` | 〃 |
| `memory/tools.md` | 쓰는 도구 목록·사용법·함정 |

---

## 3. memory-log.md — 이 틀로 시작

```markdown
# 기억 로그

CLAUDE.md의 규칙으로 쌓이는 세션 요약. 최신 항목이 위.
새 세션에서 관련 맥락이 필요할 때 여기서 관련 항목만 찾아 읽는다.

---
```

파일을 만들어두기만 하면 됩니다. 첫 항목은 다음 세션이 끝날 때 Claude가 알아서 채웁니다.

---

## 4. 로그가 길어지면 — 압축 스크립트

같이 받은 `compress-memory-log.mjs`를 프로젝트 어딘가에 두고 실행합니다.

```bash
node compress-memory-log.mjs memory-log.md 10
```

- 최신 10개만 `memory-log.md`에 남기고, 나머지는 `memory-log-archive.md`로 **이동**합니다.
- 내용은 삭제되지 않습니다. 옮겨진 항목은 한 줄 인덱스로 남아서 나중에 찾아볼 수 있습니다.
- 숫자를 바꾸면 남길 개수가 바뀝니다 (기본 5).

---

## 잘 되고 있는지 확인하는 법

1. 아무 작업이나 하고 세션을 끝냅니다.
2. `memory-log.md`에 `## YYYY-MM-DD — ...` 항목이 새로 생겼는지 봅니다.
3. 새 세션을 열고 "우리 지난번에 뭐 했었지?"라고 물어봅니다.

3번에서 Claude가 파일을 읽고 답하면 레벨 1이 작동하는 겁니다.
안 되면 `CLAUDE.md`가 **작업 중인 폴더의 루트**에 있는지 먼저 확인하세요.

---

원문: https://jarvisstudio-blog.web.app/blog/local-memory-system/
자비스스튜디오 · https://blog.naver.com/jarvisstudio
