CLAUDE.md 멀티프로젝트 관리
17개+ 프로젝트의 CLAUDE.md 를 일관성 있게 유지.
문제
~/CLAUDE.md
~/launchcrew/CLAUDE.md ← Stripe naming 규칙
~/tennis_bracket/CLAUDE.md ← Stripe naming 규칙 (똑같이 복붙)
~/keeps/CLAUDE.md ← Stripe naming 규칙
~/triphelper/CLAUDE.md ← Stripe naming 규칙
... (17개 모두 같은 규칙 + 프로젝트 별 차이)전역 규칙 변경 시 17개 파일 동시 수정 → drift 발생.
해결 패턴
패턴 A: 전역 + 프로젝트 분리
각 프로젝트 CLAUDE.md 시작 부분:
markdown
# {Project} Claude Guidelines
## Inherits from Global
이 파일은 ~/CLAUDE.md 의 전역 규칙을 따릅니다.
프로젝트 특유의 규칙만 아래 명시.
## Project-specific
### Tech Stack
- Rails 8 + Inertia.js + Svelte 5
- ...
### Domain
- ...전역 (~/CLAUDE.md) 에는 모든 프로젝트 공통:
- API naming convention (Stripe snake_case)
- 한국어 응답
- Apple 계정 매핑
- 디자인 시스템 토큰
- ...
→ 전역 변경 시 한 곳만 수정.
패턴 B: ainote 에 한 번 등록 후 sync
위 패턴 + ainote 로 source-of-truth 화:
bash
# 전역 + 17개 프로젝트 일괄 등록
~/scripts/ainote-claude-md-init.sh스크립트 (CLAUDE.md 통합 관리 참고):
bash
ainote-push ~/CLAUDE.md global-claude-guidelines.md claude
for proj in ~/launchcrew ~/tennis_bracket ~/keeps ~/triphelper \
~/realpick ~/talkk ~/krx_listing ~/krx_ai \
~/mbti_luck ~/forfit ~/ax_admin ~/ainote-app ...; do
if [ -f "$proj/CLAUDE.md" ]; then
name=$(basename "$proj" | tr '_' '-')
ainote-push "$proj/CLAUDE.md" "${name}-claude.md" claude
fi
done수정 워크플로우:
1. 어디서든 CLAUDE.md 수정 (맥미니 또는 맥북)
2. ainote-push 실행
3. 다른 기기 cron 이 15분 뒤 pull새 프로젝트 추가 시
bash
# 1. CLAUDE.md 작성
$EDITOR ~/new-project/CLAUDE.md
# 2. ainote 등록
ainote-push ~/new-project/CLAUDE.md new-project-claude.md claude
# 3. (선택) sync-all 스크립트에 추가
$EDITOR ~/scripts/ainote-claude-md-init.sh일관성 검증
매주 cron:
bash
~/scripts/ainote-claude-md-audit.sh체크:
- 모든 프로젝트 CLAUDE.md 가 ainote 에 등록됐나
- 로컬 ↔ ainote 내용 일치
- 어느 프로젝트가 stale (최근 변경 없음 = 사용 안 함 가능)
샘플 audit 출력:
✅ 17/17 projects registered
✅ 16/17 in sync
⚠️ 1 drift detected:
~/legacy-app/CLAUDE.md (local) ≠ ainote (last push 2025-12-01)
→ 수동 검토 후 ainote-push 또는 삭제디자인 토큰 / 코드 스타일
전역 ~/CLAUDE.md 의 vibe-design + IronAct 섹션:
- 디자인 토큰 (Primary
#0000FF, Border 0px 등) - Gestalt 원칙
- shadcn 패턴
→ 프로젝트별 CLAUDE.md 에서는 "전역 따름" 만 명시.
새 프로젝트 시작 시:
bash
cat > ~/new-project/CLAUDE.md <<'EOF'
# {Project} Claude Guidelines
## Inherits from ~/CLAUDE.md
- 디자인: vibe-design 토큰
- API: Stripe snake_case
- 언어: 한국어
## Project-specific
### Tech Stack
...
EOF
ainote-push ~/new-project/CLAUDE.md new-project-claude.md claudeCLAUDE.md 충돌
같은 프로젝트 두 기기 동시 수정 → LWW (5분 임계 후).
복구:
bash
cd ~/.ainote-vault # vault 가 ainote git 미러일 때
git log -p dev/claude/launchcrew-claude.md
git show <SHA>:dev/claude/launchcrew-claude.md > /tmp/lost.md
diff /tmp/lost.md ~/launchcrew/CLAUDE.md # 비교 후 머지