Skip to content

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.mdvibe-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 claude

CLAUDE.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   # 비교 후 머지

다음

MIT License · ainote.dev