Claude Code · · 7 min read

Obsidian · graphify 도입 검토

팀 작업 이력 공유와 Claude Code 세션 비용 절감에 두 도구가 필요한지 검토했습니다.

결론

도입 안 함Obsidian 앱

AI와 팀 공유 루프에 앱이 없습니다. 폴더 규칙만 빌려옵니다.

보류graphify

코드 지도는 만들지만 기억은 아닙니다. 저장소가 커지면 docs/에만 붙입니다.

보류codegraph

코드 전용 실시간 검색. 플랫폼 간 호출 경로 추적이 반복될 때만 붙입니다.

지금 시행docs/ + CLAUDE.md 세 줄

결정 기록과 작업 로그를 저장소에 두고 Claude가 읽고 쓰게 합니다.

Claude Code · 팀원 AClaude Code · 팀원 B팀원 · 브라우저git 저장소CLAUDE.md · 규율 3줄docs/README.mddecisions/worklog/topics/읽고 쓴다읽고 쓴다GitHub에서 읽는다필요해질 때만Obsidian 앱graphify본다지도 생성
채택한 구성. 공유는 git이 하고, Claude는 파일을 읽고 씁니다. 두 도구는 루프 바깥에 있으며 붙이는 시점은 맨 아래 재검토 트리거에 있습니다.

Obsidian: 앱은 안 씁니다. 폴더 규칙만 가져옵니다.

Obsidian도입 안 함

Claude Codedocs/ = vaultREADME.mddecisions/*.mdworklog/*.mdtopics/*.md.obsidian/앱이 열 때 자동 생성 · 선택파일로 읽고 쓴다GitHubQuartz 웹Obsidian 앱링크 클릭그래프 뷰 · 백링크설치한 사람만
vault는 폴더입니다. 앱이 vault로 인식하는 조건은 .obsidian/ 하나뿐이고 그마저 앱이 열 때 자동으로 생깁니다. 앱은 세 가지 보는 방법 중 하나이며, 사람이 그래프 뷰를 원하면 Quartz로 웹 빌드해도 됩니다.

obsidian-skills 5개 중 앱이 필요한 것

obsidian-markdown obsidian-bases json-canvas defuddle obsidian-cli · 앱 실행 필요

앱 없이 잃는 것

  • 이름 변경 시 링크 자동 갱신. 대신 파일명을 안정적으로 짓고 aliases로 옛 이름을 남깁니다.
  • 렌더 검증. 콜아웃 문법이 틀려도 알려주지 않지만 내용은 깨지지 않습니다.
  • .base, .canvas를 볼 도구. 팀 공유에는 마크다운만 의미가 있습니다.

빌려오는 규칙

  • 노트 상단 YAML 프로퍼티: status, date, scope.
  • 개념 하나에 파일 하나, 파일명은 폴더 전체에서 유일.
  • 링크는 위키링크 대신 일반 마크다운 링크. GitHub에서 클릭되고 Claude에겐 차이가 없습니다.

graphify: 지도는 만들지만 기억은 아닙니다.

graphify보류

코드마크다운PDF이미지graphifytree-sitter ASTLLM 비용 없음Claude 추출 · vision 포함토큰 소모graph.htmlgraph.jsonobsidian/ · wiki/GRAPH_REPORT.mdClaude Code · 세션 시작에 읽음
graphify가 하는 일. 코드는 무료로, 문서와 이미지는 Claude 토큰을 써서 그래프를 만들고, Claude는 세션 시작에 리포트 한 장을 읽어 구조를 파악합니다. 파일 6개 규모에서는 절감이 약 1배이고, 규모가 커질수록 효과가 커집니다.
세션 1세션 2세션 3코드코드 v1코드 v2코드 v3생성생성생성graphify스냅샷 1스냅샷 2스냅샷 3덮어씀덮어씀graphify는 여기에 쓰지 않음결정 기록사람 · Claude가 씀결정 1결정 1 · 2결정 1 · 2 · 3누적누적
"영구 기억"이 아닌 이유. graphify가 기억하는 건 지금 코드가 어떻게 생겼나이고, 매번 다시 생성되는 스냅샷입니다. 왜 그렇게 결정했는지는 아래 줄에 누군가 써야 생기며, 그 규율은 graphify와 무관합니다.

얻는 것

  • 세션 시작 구조 파악 비용 절감. 큰 저장소일수록 큽니다.
  • 사람이 볼 리포트와 그래프. 처음 보는 코드베이스 조망에 유용합니다.
  • 코드와 문서를 한 그래프로. 도구 하나로 둘 다 다룹니다.

못 얻는 것

  • 결정과 이력. 코드 품질도 그래프와 무관합니다.
  • 낡은 그래프는 해롭습니다. 재생성 훅 없이는 틀린 지도를 믿습니다.
  • 리포트가 수만 토큰이면 절감 목적이 뒤집힙니다.

graphify vs codegraph: 비슷해 보이지만 역할이 다릅니다.

graphify vs codegraph둘 다 보류

graphify세션 시작작업 중GRAPH_REPORT.md읽음grep · Read파일 직접 탐색저장소 파일: 코드 + 문서 + PDF + 이미지훅으로 생성매번 읽음언어 경계 연결 없음앱·데몬 없음, 스킬 하나codegraph세션 시작작업 중없음MCP 질의소스 조각 반환인덱스 (.codegraph/)저장소 파일: 코드만저장 시 자동 동기화질의Swift↔ObjC, RN 브리지 연결응답이 컨텍스트에 남음 (+80%)
같은 세션에서 두 도구가 작동하는 위치. graphify는 시작에 지도를 주고 작업 중에는 물러나며, codegraph는 작업 중 grep을 대체합니다. 둘 다 붙이면 코드에 대한 진실이 둘이 되고 지시가 충돌하므로, 함께 쓴다면 코드는 codegraph, 문서는 graphify로 역할을 못 박습니다.
graphifycodegraph
대상코드 + 문서 + PDF + 이미지코드만
단위개념과 관계, 커뮤니티심볼, 호출 엣지, 의존성
생성코드는 AST, 문서·이미지는 ClaudeRust 파서. LLM 없음, API 키 없음
최신성--update / --watch / 커밋 훅파일 저장 시 자동 동기화
사용 방식세션 시작에 리포트 읽기작업 중 MCP 질의, 소스 조각 반환
언어 경계없음Swift↔ObjC, RN 브리지, 17개 프레임워크 라우트
설치Python 스킬 하나바이너리 + MCP 데몬
비용 주의문서·이미지 재처리마다 토큰세션 끝 잔류 컨텍스트 약 +80%
사람용 화면graph.html, 리포트, 위키심볼 뷰어. 호출자 · 소스 · 피호출자
라이선스MITMIT. 호스팅 제품 준비 중

둘 다 붙이면

장점

  • 역할이 나뉘면 보완됩니다. 코드 흐름은 codegraph, 문서와 결정의 연결은 graphify.
  • graphify 리포트는 처음 보는 코드베이스를 조망하는 데 여전히 쓸모 있습니다.

단점

  • 같은 코드에 진실이 둘. 갱신 시점이 어긋나면 조정에 토큰을 씁니다.
  • 컨텍스트가 겹쳐 쌓입니다. codegraph 잔류분 위에 리포트까지 얹힙니다.
  • 지시가 충돌합니다. “grep 대신 MCP"와 “리포트를 읽어라”.
  • 유지 대상이 둘. 스킬과 바이너리, 훅 둘, 캐시 폴더 둘.
지금 아픈 곳은?흩어진 문서 · 암묵지코드 탐색 비용 · 언어 경계둘 다graphify를 docs/에만코드는 CLAUDE.md 색인으로 충분codegraph를 코드에MCP 데몬과 컨텍스트 잔류를 감수코드는 codegraph, 문서는 graphify역할을 CLAUDE.md 한 줄로 못 박기
선택 기준. 순서는 codegraph를 먼저 붙이고 측정한 뒤 문서 더미가 커지면 graphify를 docs/에 얹는 것입니다. 반대로 가면 나중에 코드 쪽 graphify를 걷어내야 합니다.

지금 시행: docs/ 폴더와 CLAUDE.md 세 줄

지금시행

docs/
├── README.md        # 시작점. 구조 요약 10줄 + 아래 폴더 링크
├── decisions/       # YYYY-MM-DD-제목.md   프로퍼티: status, date, scope
└── worklog/         # YYYY-MM-DD.md        다음 세션에 넘길 미완 상태 한 단락
  • 작업 시작 전에 docs/README.md를 읽어라.
  • 설계 선택이 생기면 docs/decisions/에 기록해라. 뒤집히면 새 항목을 쓰고 옛 항목의 status만 바꿔라.
  • 세션 끝에 docs/worklog/에 한 단락 남겨라.

구조 요약만 썩는 문서입니다. 모듈 목록과 진입점 몇 줄로 짧게 유지하고, 이력은 Linear와 PR에 맡깁니다.

웹 · iOS · Android · Windows · Mac으로 커질 때

원칙은 하나입니다. Claude가 세션 시작에 읽는 양이 프로젝트 크기와 무관하게 일정해야 합니다. Claude Code는 하위 디렉터리의 CLAUDE.md를 그 안에서 작업할 때만 불러오므로 도구 없이 지킬 수 있습니다.

repo/
├── CLAUDE.md                  # 공통 규칙 + "docs/README.md 읽어라"
├── docs/
│   ├── README.md              # 전체 지도 20줄, 플랫폼별 링크
│   ├── shared/decisions/      # API 계약, 인증, 데이터 모델. 한 번만 쓰고 링크
│   └── web/ ios/ android/ windows/ mac/
│       ├── README.md          # 그 플랫폼 구조 요약
│       └── decisions/
└── apps/
    ├── ios/CLAUDE.md          # "docs/ios/README.md 읽어라" + iOS 규칙
    └── android/CLAUDE.md
  • 결정 프로퍼티 scope: [shared] 또는 scope: [ios, android]로 범위별 조회.
  • 공통 결정은 shared/에 한 번만 쓰고 PR 리뷰. 복사하면 다섯 곳이 각자 낡습니다.
  • 저장소가 여러 개면 공통 결정은 한 곳에 두고 URL로 링크.

재검토: 이 조건이 보이면 그때 붙입니다

관찰되는 조건조치
docs/ 문서가 수십 개를 넘어 README 색인으로 못 찾음graphify docs/에만. --wiki와 post-commit 훅
Claude가 세션마다 구조 파악에 도구 호출 수십 번을 씀graphify 코드에 적용. 리포트는 README에서 링크만
플랫폼 간 호출 경로(Swift↔ObjC, RN) 추적이 반복됨codegraph 코드 쪽에. graphify는 문서로 한정
사람이 수백 개 노트를 백링크·그래프로 탐색해야 함Obsidian 앱 대신 Quartz 웹 빌드. 원하는 사람만 앱, workspace.json은 .gitignore

참고