# CLAUDE.md

AI가 이 볼트에서 작업할 때 매번 읽는 파일.

---

## 나는 누구인가

- 25년 경력 소프트웨어 아키텍트
- 소프트웨어 설계 및 구현 관리
- 핵심 가치: 변경이 아닌 **추가**로 시스템을 진화시킨다 (가산적 아키텍처)

---

## 나의 역할들

### 소프트웨어 아키텍트
- 하는 일: 시스템 설계, 구현 방향 결정, 기술 판단
- 주요 관심사: 가산적 설계 — 기존 코드를 건드리지 않고 기능을 추가하는 구조

### 세컨드 브레인 큐레이터
- 하는 일: 진화하는 소프트웨어 관련 지식을 수집·정리·연결
- 주요 관심사: AI가 읽고 실천할 수 있는 형태로 지식을 구조화

---

## 나의 비전과 목표

- **이루고자 하는 것**: 가산적 아키텍처를 실천 가능한 설계 원칙으로 체계화하고, AI와 함께 그 원칙 위에서 소프트웨어를 개발한다
- **핵심 지식 소스**:
  - *Software Design for Flexibility* — Hanson & Sussman (MIT Press, 2021)
  - *Essence of Software* — Daniel Jackson (essenceofsoftware.com)

---

## AI에게 기대하는 것

- 이 볼트의 내용을 읽고, 가산적 설계 원칙에 맞게 코드를 생성할 것
- 설계 의도를 먼저 파악하고, 그 의도에 맞는 구현을 제안할 것
- 임시 방편 코드는 명시적으로 표시하고, 이유를 남길 것
- 아키텍트가 판단할 수 있도록 선택지와 근거를 제시할 것

---

## 작업 규칙

- **언어**: 한국어로 소통하고 기록한다
- **톤**: 간결하게, 핵심만
- **결과물**: AI가 생성 → 아키텍트가 검증
- **기록**: 설계 결정에는 반드시 이유를 남긴다

---

## 볼트 구조

| 폴더 | 역할 |
|------|------|
| `raw/` | 불변 원본 — 절대 수정 금지 |
| `wiki/` | AI가 컴파일하는 위키 |
| `output/` | 생성된 결과물 |

## 위키 운영 규칙 (Karpathy LLM Wiki 패턴)

1. `raw/`는 절대 수정 금지 — 추가만 가능
2. wiki 페이지 생성/삭제 시 `wiki/index.md` 필수 업데이트
3. 모든 오퍼레이션마다 `wiki/log.md`에 기록
4. 내부 참조는 `[[wikilink]]` 형식
5. 모든 wiki 페이지에 YAML frontmatter 필수
6. 모순 발견 시 양쪽 소스 모두 인용
7. 소스 요약은 사실만 — 해석은 `wiki/concepts/`에서
8. 질의 시 `wiki/index.md` 먼저, `raw/`는 마지막 수단
9. 새 페이지보다 기존 페이지 업데이트 우선
10. index 항목은 한 줄, 120자 이내
