CLAUDE.md 통합 관리
17개+ 프로젝트의 CLAUDE.md 를 ainote 한 곳에서.
문제
~/CLAUDE.md ← 전역 설정
~/launchcrew/CLAUDE.md ← 프로젝트별
~/tennis_bracket/CLAUDE.md
~/keeps/CLAUDE.md
... (17개 프로젝트)여러 노트북에서 작업 → 어디서 수정했는지 모름 → drift 발생.
해결
ainote 가 source of truth.
ainote vault
└── dev/claude/
├── global-claude-guidelines.md → ~/CLAUDE.md
├── launchcrew-claude.md → ~/launchcrew/CLAUDE.md
├── tennis-bracket-claude.md → ~/tennis_bracket/CLAUDE.md
└── ...각 문서에 local_path 메타데이터 → pull_dev_docs 가 그 경로로 복원.
1회 등록
각 CLAUDE.md 마다:
ainote 에 ~/launchcrew/CLAUDE.md 등록해줘
- title: launchcrew-claude.md
- category: claude-md
- local_path: /Users/seunghan/launchcrew/CLAUDE.mdClaude 가 create_dev_doc 호출:
json
{
"title": "launchcrew-claude.md",
"category": "claude",
"local_path": "/Users/seunghan/launchcrew/CLAUDE.md",
"content": "<file content>"
}일괄 등록 스크립트
bash
#!/bin/bash
# ~/scripts/ainote-claude-md-init.sh
ainote-push() {
local file="$1"
local title="$2"
local content
content=$(python3 -c "import sys,json; print(json.dumps(open('$file').read()))")
local local_path
local_path=$(realpath "$file")
ainote create_dev_doc "{
\"title\":\"$title\",
\"content\":$content,
\"subcategory\":\"claude-md\",
\"local_path\":\"$local_path\"
}"
}
# 전역
ainote-push ~/CLAUDE.md global-claude-guidelines.md
# 모든 프로젝트
for proj in ~/launchcrew ~/tennis_bracket ~/keeps ~/triphelper ~/realpick ~/talkk; do
if [ -f "$proj/CLAUDE.md" ]; then
name=$(basename "$proj" | tr '_' '-')
ainote-push "$proj/CLAUDE.md" "${name}-claude.md"
fi
done
echo "✅ CLAUDE.md 일괄 등록 완료"수정 후 push
CLAUDE.md 편집 후:
bash
ainote-push ~/launchcrew/CLAUDE.md launchcrew-claude.md
# 이미 존재 → update_dev_doc (replace mode)또는 Claude 에서:
launchcrew CLAUDE.md 수정한 거 ainote 에 동기화해줘새 기기 일괄 복원
bash
ainote pull_dev_docs '{"category":"claude"}'응답:
✓ /Users/seunghan/CLAUDE.md (created)
✓ /Users/seunghan/launchcrew/CLAUDE.md (updated)
✓ /Users/seunghan/tennis_bracket/CLAUDE.md (updated)
... (17 files)충돌 처리
두 기기에서 동시 편집 → 마지막 push 가 이김 (LWW).
복구:
bash
# git history 에서 손실된 버전 찾기
cd ~/.ainote-vault
git log -p dev/claude/launchcrew-claude.md
# 손실 버전 export
git show <SHA>:dev/claude/launchcrew-claude.md > /tmp/lost.md자세히: sync 충돌.
명명 컨벤션
{project_name}-claude.mdproject_name: snake_case → kebab-case (tennis_bracket→tennis-bracket)- 전역:
global-claude-guidelines.md - SuperClaude 설정:
personas-enhanced-activation.md등
자세히: 네임 규칙.