TrendShift · Code Intelligence for AI Agents

CodeGraph — Claude Code를
똑똑하게 만드는 코드 그래프

코드베이스 전체를 미리 "지도"로 만들어 두면, AI 에이전트가 grep과 파일 읽기에 토큰을 낭비할 필요가 없다.

colbymchenry/codegraph · TypeScript 94.8% · MIT · 552★ 2026-05-20 · TrendShift 10위
00 — 들어가며Context

먼저, AI가 코드 읽을 때 뭐가 문제인가

Explore 에이전트의 토큰 낭비 구조부터.

Claude Code 같은 AI 코딩 에이전트는 처음 보는 코드베이스를 만나면 일단 탐색(explore)부터 한다. grep으로 키워드를 훑고, glob으로 파일 목록을 뽑고, Read로 한 파일씩 열어본다. 작은 프로젝트라면 괜찮다. 그런데 VS Code나 Swift 컴파일러처럼 파일이 수만 개인 코드베이스가 되면 — 수십 번의 툴 호출과 수십만 토큰이 그 탐색에만 사라진다.

CodeGraph는 이걸 정공법으로 푼다. 코드를 미리 한 번 통째로 분석해서 "함수 A가 함수 B를 부른다" "클래스 X가 인터페이스 Y를 상속한다" 같은 관계망을 SQLite 파일 하나에 저장해 둔다. AI는 grep 대신 그 그래프에 SQL 질의하듯 묻는다. 결과는 평균 툴 호출 58% 감소, 응답 시간 22% 단축, 비용 16% 절감.

Term · 용어
MCP (Model Context Protocol, AI 도구 연동 표준)
Anthropic이 정의한 AI 도구 통신 표준. Claude Code 같은 호스트가 ~/.claude.json에 등록된 MCP 서버에 stdio로 연결해서 도구를 호출한다. CodeGraph는 codegraph serve --mcp로 MCP 서버 모드를 켠다.
Term · 용어
AST (Abstract Syntax Tree, 추상 구문 트리)
코드를 트리 형태로 표현한 자료구조. function foo(a){return a+1}가 "FunctionDeclaration → Parameters → ReturnStatement → BinaryExpression"으로 분해된다. CodeGraph는 tree-sitter로 AST를 만든 다음, 거기서 노드(함수/클래스)와 엣지(호출/상속)를 추출한다.
Term · 용어
FTS5 (Full-Text Search 5, SQLite 내장 전문검색)
SQLite에 내장된 전문검색 엔진. CREATE VIRTUAL TABLE ... USING fts5(...) 한 줄이면 ElasticSearch 같은 별도 서버 없이 LIKE보다 100배 빠른 키워드 검색이 가능. CodeGraph는 심볼 이름을 FTS5에 함께 색인한다.
01 — 한 줄 요약TL;DR

이 프로젝트의 핵심 메시지

한 문장으로 줄이면.

Core Message

"AI가 매번 폴더를 뒤져가며 코드를 찾는 건 종이 지도책을 한 장씩 넘기는 것과 같다 — CodeGraph는 그 책을 미리 디지털화해서 한 번 검색하면 바로 답이 나오는 네이버 지도로 바꾼다."

CodeGraph는 코드베이스를 사전 분석해 함수/클래스를 노드로, 호출/상속/임포트 관계를 엣지로 표현한 그래프를 SQLite + FTS5에 저장한다. 그리고 Claude Code 같은 에이전트가 그 그래프를 MCP 서버로 질의할 수 있게 한다.

핵심 수치는 셋 — 평균 툴 호출 58% 감소, 응답 시간 22% 단축, 비용 16% 절감. 외부 API도 클라우드도 없다. npx 한 줄로 끝나는 인스톨러가 시스템 프롬프트 주입까지 자동 처리한다.

02 — 왜 주목받는가Why now

TrendShift 10위로 떠오른 이유

벤치마크 + 보안 + 경쟁 비교.

토큰 낭비 문제를 정면으로 풀었다

Claude Code는 코드를 탐색할 때 Explore 에이전트라는 보조 일꾼을 띄워서 grep, glob, Read로 파일을 일일이 읽는다. 큰 프로젝트일수록 이 과정에서 수십 번의 툴 호출과 수십만 토큰이 사라진다. CodeGraph는 이 탐색을 "미리 만들어둔 그래프 1회 질의"로 압축한다.

실제 벤치마크 수치가 압도적

6개의 유명 오픈소스 프로젝트(VS Code, Excalidraw, Alamofire, Swift Compiler 등)에서 Explore 에이전트를 돌려보고 CodeGraph 유/무를 비교했다.

코드베이스CodeGraph 사용미사용개선폭
VS Code (TS)3회 / 17초52회 / 1분 37초94% · 82%
Excalidraw (TS)3회 / 29초47회 / 1분 45초94% · 72%
Claude Code (Py+Rust)3회 / 39초40회 / 1분 8초93% · 43%
Alamofire (Swift)3회 / 22초32회 / 1분 39초91% · 78%
Swift Compiler (25,874 파일)6회 / 35초37회 / 2분 8초84% · 73%
Analogy · 인상적인 지점

Swift Compiler처럼 2만 5천 개 파일의 거대 코드베이스를 4분 만에 인덱싱하고, 복잡한 cross-cutting 질문에도 단 6번의 호출과 0건의 파일 읽기로 답을 만들어냈다. "에이전트가 파일을 거의 안 읽는다"는 게 이 도구의 핵심 성과.

100% 로컬 — 사내 코드에서도 쓸 수 있다

API 키도, 외부 클라우드도, 사내망 밖으로 나가는 데이터도 없다. .codegraph/codegraph.db SQLite 파일 하나가 전부다. 보안이 중요한 회사 코드를 다루는 환경에서 큰 차별점.

경쟁 제품 대비 장점

도구접근 방식CodeGraph 대비
Cursor / Copilot임베딩 기반 코드 검색의미 검색은 가능하나 "함수 호출 관계" 같은 구조 정보가 약함. 클라우드 처리 필수.
Sourcegraph대규모 코드 검색 플랫폼강력하지만 서버 구축이 필요. CodeGraph는 npx 한 줄.
LSP (Language Server)IDE에 통합된 언어 분석한 언어씩 처리. CodeGraph는 19개 언어를 한 그래프에 담음 (cross-language).
03 — 기술 스택Stack

전체 기술 지도

런타임 · 파싱 · 저장 · 통신 · 빌드.

런타임 / 언어

TypeScript + Node

  • TypeScript 5.x — 전체 코드의 94.8%. 강타입 + 모던 JS 전 기능. tsconfig.json으로 빌드
  • Node.js 20~24"engines": "node >=20.0.0 <25.0.0" 최신 LTS만 지원

핵심 의존성

라이브러리역할왜 이걸 썼을까
web-tree-sitter코드를 AST로 파싱19개 언어를 한 라이브러리로 처리. WASM이라 OS 독립.
tree-sitter-wasms언어별 파서(WASM)네이티브 빌드 없이 즉시 사용 가능.
node:sqliteSQLite (Node 내장)번들된 Node 런타임에 탑재, WAL+FTS5 지원, 플랫폼 무관 빌드 불필요.
commanderCLI 명령어 파서codegraph init, codegraph index 같은 서브커맨드.
@clack/prompts대화형 CLI UI인터랙티브 인스톨러의 "예/아니오" 프롬프트.
picomatchglob 패턴 매칭node_modules/** 같은 제외 규칙 처리.
jsonc-parser주석 허용 JSON 파서VS Code 스타일의 .codegraph/config.json 처리.

데이터 저장 — SQLite + FTS5

프로젝트 루트의 .codegraph/codegraph.db 파일 하나에 모든 노드/엣지/소스 스니펫이 저장된다. 별도 검색 서버 없이 키워드 검색까지 가능한 이유는 FTS5 가상 테이블을 함께 두기 때문.

Term · 용어
WASM (WebAssembly)
브라우저·Node 등에서 돌릴 수 있는 바이너리 포맷. C/Rust로 만든 라이브러리를 OS 독립적으로 실행 가능. CodeGraph가 tree-sitter와 SQLite를 모두 WASM 버전으로 쓰는 덕에 "M1 맥에서 안 깔린다" "Windows에서 컴파일 실패" 같은 문제가 사라진다.

통신 — MCP 프로토콜 (stdio)

Claude Code 호스트와 CodeGraph 서버는 표준 입출력(stdio)으로 JSON-RPC를 주고받는다. codegraph serve --mcp가 그 서버 모드. 호스트는 자식 프로세스로 CodeGraph를 띄우고, 표준 입력에 도구 호출 요청을 쓰면 표준 출력으로 결과가 돌아온다. 소켓도 포트도 필요 없다.

파일 감시 — 네이티브 OS 이벤트

폴링이 아니라 네이티브 OS 이벤트를 쓴다 — macOS는 FSEvents, Linux는 inotify, Windows는 ReadDirectoryChangesW. 2초의 debounce(연속 저장을 한 번의 이벤트로 묶기) 후 변경 파일만 증분 재인덱싱한다.

테스트 / 빌드

  • Vitest — Vite 기반 빠른 테스트 러너. __tests__/evaluation/에 벤치마크용 eval 스위트가 따로 있음
  • tsc — TypeScript 컴파일만. 번들러 없음(라이브러리 + CLI이므로)
  • preuninstall 훅 — npm 제거 시 정리 스크립트 자동 실행
04 — 아키텍처Design

시스템 구조와 4가지 설계 패턴

전체 구조도 → 핵심 패턴 하나하나.

시스템 구조도

┌──────────────────────────────────────────────────────────────────┐
│                          Claude Code (호스트)                     │
│                                                                  │
│   "Implement user authentication" 같은 사용자 요청                 │
│              │                                                   │
│              ▼                                                   │
│      ┌───────────────┐    ┌───────────────┐                      │
│      │ Explore Agent │ ── │ Explore Agent │  (여러 서브에이전트)  │
│      └───────┬───────┘    └───────┬───────┘                      │
└──────────────┼─────────────────────┼──────────────────────────────┘
               │ stdio (MCP 프로토콜) │
               ▼                     ▼
┌──────────────────────────────────────────────────────────────────┐
│                  CodeGraph MCP 서버 (TypeScript)                  │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐          │
│  │ search   │  │ callers  │  │ context  │  │ impact   │          │
│  └────┬─────┘  └────┬─────┘  └────┬─────┘  └────┬─────┘          │
│       └─────────────┼─────────────┴─────────────┘                │
│                     ▼                                            │
│      ┌──────────────────────────────┐                            │
│      │ SQLite + FTS5 (codegraph.db) │                            │
│      │  · nodes (함수/클래스/메서드)    │                            │
│      │  · edges (calls/extends/imports)│                          │
│      │  · 풀텍스트 인덱스               │                            │
│      └──────────────────────────────┘                            │
│                     ▲                                            │
│                     │ 저장                                        │
│      ┌──────────────┴───────────────┐                            │
│      │   tree-sitter WASM Parser     │  (언어별 query 파일로 추출)   │
│      └───────────────▲──────────────┘                            │
│                      │ 변경 감지                                   │
│      ┌───────────────┴──────────────┐                            │
│      │  Native FS Watcher           │  FSEvents/inotify/Windows  │
│      └──────────────────────────────┘                            │
└──────────────────────────────────────────────────────────────────┘

패턴 1 — Extract → Store → Resolve 3단계 파이프라인

코드를 그래프로 만드는 핵심 흐름.

  1. Extract — tree-sitter가 코드를 AST로 만들고, 언어별 query로 함수/클래스 같은 "노드"와 호출/상속 같은 "엣지"를 뽑아낸다
  2. Store — 추출 즉시 SQLite에 INSERT. 빠른 검색을 위해 이름 컬럼은 FTS5 가상 테이블에도 같이 들어간다
  3. Resolve — 1차로는 "foo() 호출"만 적어두고, 2차 패스에서 그 foo가 실제 어느 파일의 어느 정의인지 매칭. 임포트 추적, 클래스 상속, 프레임워크 패턴(Spring의 @Service 같은)까지 이때 푼다
Analogy · 왜 2단계?

파일을 위에서 아래로 한 번에 다 풀려면, A.tsB.ts의 클래스를 상속하는 경우 B.ts를 먼저 알아야 한다. 모든 노드를 일단 다 모은 다음 두 번째로 훑으면 의존성 순서를 신경 쓸 필요가 없다. 전화번호부를 다 만들고 나서 친구 번호를 찾는 것과 같다.

패턴 2 — 노드/엣지 = SQLite 안에 그래프 DB 흉내내기

전용 그래프 DB(Neo4j 같은 것) 없이도, SQLite의 두 테이블만으로 그래프를 표현한다.

-- 단순화한 스키마
CREATE TABLE nodes (
  id TEXT PRIMARY KEY,
  name TEXT,
  kind TEXT,         -- function/class/method/...
  file TEXT,
  line INTEGER
);
CREATE TABLE edges (
  src TEXT,          -- FROM 노드
  dst TEXT,          -- TO 노드
  kind TEXT          -- calls/extends/imports/...
);
CREATE VIRTUAL TABLE nodes_fts USING fts5(name, content=nodes);

패턴 3 — Incremental Sync (변경 파일만 재인덱싱)

파일이 저장될 때마다 전체를 다시 인덱싱하면 큰 프로젝트에선 비효율적이다. CodeGraph는 변경된 파일과 그 파일을 임포트하는 파일만 다시 처리하는 impact radius 알고리즘을 쓴다. 이건 codegraph_impact 툴로도 노출되어 있어서, "이 함수 바꾸면 뭐가 영향받지?"를 AI가 직접 물어볼 수 있다.

패턴 4 — 시스템 프롬프트로 AI 행동 강제하기

가장 영리한 부분은 코드가 아니라 ~/.claude/CLAUDE.md 주입이다. 인스톨러가 자동으로 다음 규칙을 추가한다.

Trap · 함정
AI는 옛 습관(grep 남발)으로 돌아간다

좋은 도구를 만들어 둬도 AI는 학습 데이터에 익숙한 패턴 — grep, Read를 먼저 시도하는 — 으로 자꾸 돌아간다. 그러면 CodeGraph가 있어도 효과가 반감된다.

Fix · 해결책
시스템 프롬프트로 규칙을 못 박는다

".codegraph/ 폴더가 보이면, 메인 세션은 절대 codegraph_explore를 직접 호출하지 말고 Explore 에이전트를 띄워서 호출하라. 그리고 그 결과는 신뢰하고 grep/Read를 추가로 하지 말라" — 이걸 시스템 프롬프트에 박아 컨벤션을 강제한다.

05 — 디렉토리Repo map

레포 구조 해부

어디에 뭐가 있는지.

codegraph/
├─ src/                       # 실제 구현체 (TypeScript 94.8%)
│   ├─ bin/                   # CLI 엔트리포인트 (codegraph 명령)
│   ├─ db/
│   │   └─ schema.sql         # SQLite 스키마 정의
│   ├─ extraction/
│   │   └─ wasm/              # tree-sitter 언어별 WASM 파서들
│   ├─ mcp/                   # MCP 서버 구현 (stdio 통신)
│   └─ ...                    # search/callers/context 등 도구 로직
│
├─ __tests__/
│   └─ evaluation/            # 벤치마크/eval 스위트
├─ docs/                      # 사용자 문서
├─ scripts/                   # 설치 후 헬퍼 스크립트
│
├─ BUNDLING.md                 # 번들 런타임 배포 방식 설명
├─ CHANGELOG.md               # 버전별 변경 이력
├─ CLAUDE.md                  # Claude Code에 주입되는 글로벌 지침
├─ TELEMETRY.md               # 텔레메트리 수집 정책 안내
├─ install.sh / install.ps1   # curl/irm 원클릭 인스톨러 스크립트
├─ package.json               # "bin" 필드로 글로벌 명령 등록
└─ vitest.config.ts
Analogy · 주목할 파일 3가지

CLAUDE.md — AI를 길들이는 시스템 프롬프트의 진수. 다른 MCP 서버 만들 때 그대로 참고할 모범 사례.

schema.sql — 그래프를 SQLite에 어떻게 모델링했는지 한 파일로 알 수 있음.

__tests__/evaluation/ — "벤치마크를 PR 문화로 끌어들이는 법"이 코드로 표현된 곳.

06 — 학습 포인트What to learn

분야별 배울 것

이 레포에서 가져갈 5가지 인사이트.

tree-sitter 사용법

  • tree-sitter는 GitHub·Atom 시절부터 쓰인 점진형 파서. 파일 일부만 바뀌어도 트리 전체를 다시 만들지 않음
  • web-tree-sitter를 WASM으로 쓰는 패턴 — 네이티브 빌드 의존성 없이 멀티 언어 지원할 때 가장 깔끔
  • 언어별 query.scm 파일에 S-expression으로 "이런 패턴을 잡아라"고 선언

실습:.ts 파일에서 export된 함수 이름만 추출하는 5줄짜리 tree-sitter 스크립트. 한 번 해보면 CodeGraph의 추출 로직이 단번에 이해됨.

MCP 서버 만들기

  • CodeGraph는 잘 만들어진 MCP 서버의 살아있는 교과서
  • src/mcp/ 폴더의 도구 정의(이름·입력 스키마·반환 형식) 살펴보기
  • stdio로 JSON-RPC 주고받는 패턴 — 소켓·HTTP 없이 자식 프로세스로 동작

SQLite + FTS5 활용

  • FTS5는 작은 도구가 자체적인 검색 기능을 가질 때 강력. ElasticSearch·Meilisearch 안 띄워도 됨
  • CREATE VIRTUAL TABLE ... USING fts5(...) 한 줄로 시작
  • 한국어는 별도 토크나이저 필요(영문은 기본으로 잘 됨)

시스템 프롬프트로 "에이전트 행동" 조형하기

  • CodeGraph의 가장 영리한 부분은 코드가 아닌 CLAUDE.md
  • AI에게 "내 도구를 어떻게 쓰라"고 매뉴얼을 주입 — 옛 습관(grep) 후퇴 방지의 최선
  • 좋은 도구를 만들었다면 사용 규칙도 함께 배포해야 한다는 교훈

CLI UX 디자인

  • @clack/prompts + commander 조합은 모던 Node CLI의 표준 패턴
  • codegraph init 같은 인터랙티브 플로우 구성 학습 (-i 플래그는 하위 호환용, 현재 표준은 인자 없이 실행)
  • 인스톨러가 글로벌 설치 → ~/.claude.json 등록 → 권한 자동 허용까지 한 번에 처리
07 — 요구사항Setup

시스템 요구사항

최소 → 권장.

항목최소권장
OSWindows 10, macOS 12, Linux (커널 5+)최신 OS
Node.js20.0.020 LTS 또는 22 LTS (24까지)
RAM4GB8GB 이상 (대형 코드베이스)
디스크대상 코드의 약 5~10%SSD 권장 (FTS5 가속)
네트워크npm 설치 시에만 필요이후 완전 오프라인 가능
Claude Codev2.x 이상최신 빌드 (MCP stdio 지원 필수)
Fix · 설치 한 줄
npx 하나로 끝

npx @colbymchenry/codegraph — 인터랙티브 인스톨러가 글로벌 설치, ~/.claude.json 등록, 권한 자동 허용, CLAUDE.md 주입까지 한 번에 처리한다.

Trap · Windows 사용자 주의

Node 24 미만이어야 하고, 네이티브 모듈 빌드 실패 시 자동으로 WASM 폴백이 동작한다. PowerShell에서 npm 글로벌 설치 권한 문제가 나면 npm config get prefix로 경로 확인 후 PATH에 추가해야 함.

08 — 실습 과제Hands-on

직접 해볼 5단계

난이도별 실습 — Easy → Hard.

실습 1 — 내 사이드 프로젝트에 CodeGraph 붙이기Easy

1) npx @colbymchenry/codegraph 실행 2) codegraph init 완료 3) Claude Code 재시작 4) "이 프로젝트의 인증 흐름이 어떻게 동작하지?"를 질문 5) 응답에서 codegraph_explore 툴이 호출되면 성공

배우는 것: 인스톨러 동작, 시스템 프롬프트 주입, MCP 도구 호출 흐름

실습 2 — CLI 직접 다뤄보기Easy

1) codegraph status로 인덱스 통계 확인 2) codegraph query "Auth"로 심볼 검색 3) codegraph affected src/api/login.ts로 영향 받는 파일 확인 4) 세 결과를 비교

배우는 것: CLI · MCP 동일 기능, FTS5 키워드 검색, impact radius 알고리즘

실습 3 — Pre-commit hook 만들기Medium

1) git diff --name-only | codegraph affected --stdin --quiet | xargs npx vitest run 한 줄을 .husky/pre-commit에 추가 2) 커밋 시 변경 파일과 관련된 테스트만 자동 실행 3) 전체 테스트 대비 시간 비교

배우는 것: 그래프 기반 affected-tests 패턴, 파이프 합성

실습 4 — Library 모드로 분석 스크립트 짜기Medium

1) import CodeGraph from '@colbymchenry/codegraph' 2) 내 프로젝트 인덱싱 3) "100줄 넘는 함수 + 호출자가 5명 이상"인 함수 추출 4) 리팩토링 후보 리스트 출력

배우는 것: 그래프 API 직접 사용, 노드·엣지 질의, 코드 메트릭 자동화

실습 5 — 새 언어 지원 추가 (PR 도전)Hard

1) 현재 미지원 언어 선택(예: Elixir, Zig) 2) tree-sitter-elixir WASM 추가 3) 해당 언어 query.scm 작성 4) __tests__/에 fixture 추가 5) eval 통과 후 PR 제출

배우는 것: tree-sitter query 언어, eval 기반 검증, 오픈소스 기여 워크플로

09 — 학습 로드맵5 weeks

5주 심화 학습 로드맵

주차별로 따라가면 CodeGraph 전체 스택 마스터.

Week 01
MCP의 기본 이해

Anthropic MCP 공식 문서 1회독 / 가장 간단한 MCP 서버(에코 서버) 직접 작성 / CodeGraph src/mcp/ 폴더 코드 리딩

Week 02
tree-sitter 깊이 파기

tree-sitter query 언어 학습(S-expression 문법) / 한 언어의 query 파일을 처음부터 작성(Python 권장) / AST playground에서 실제 노드 트리 관찰

Week 03
SQLite + FTS5

FTS5의 토크나이저·랭킹 옵션 학습 / 그래프를 SQLite에 모델링하는 패턴 비교(CodeGraph vs Datasette vs Recursive CTE) / WAL 모드, 인덱스 설계, EXPLAIN QUERY PLAN 튜닝

Week 04
Claude Code 에이전트 설계

CLAUDE.md를 통한 행동 제어 패턴 정리 / 서브에이전트(Explore) 분기와 토큰 예산 설계 / 나만의 MCP 도구 만들어 붙이기(예: 회사 위키 검색 MCP)

Week 05
종합 프로젝트 (캡스톤)

"우리 팀 모노레포 전용 코드 어시스턴트" 설계. CodeGraph + 내부 API 문서 MCP + Jira 티켓 MCP를 함께 묶어, "이 티켓 관련 함수 찾고 → 영향 범위 분석 → 어떤 테스트 돌릴지" 한 번에 답하게 만들기

10 — 키워드 사전Glossary

핵심 용어 한눈에

자주 마주칠 단어들.

MCP (Model Context Protocol)
Anthropic이 만든 표준. AI 모델이 외부 도구(파일시스템·DB·API 등)와 통신하는 공통 프로토콜. CodeGraph가 Claude Code에 연결되는 통로.
AST (Abstract Syntax Tree)
코드를 트리 형태로 표현한 자료구조. function foo(a){return a+1}가 "FunctionDeclaration → Parameters → Return → BinaryExpression" 트리로 분해됨.
tree-sitter
점진형(incremental) 파서. 파일 일부만 바뀌어도 트리 전체를 다시 만들지 않고 변경 부분만 갱신. 19개 이상 언어 지원.
FTS5
SQLite 내장 전문검색(Full-Text Search) 5번째 버전. 별도 검색 서버 없이 LIKE보다 100배 빠른 키워드 검색.
WASM (WebAssembly)
브라우저·Node에서 돌릴 수 있는 바이너리 포맷. C/Rust로 만든 라이브러리를 OS 독립적으로 실행 가능.
Knowledge Graph (지식 그래프)
개체(node)와 관계(edge)로 정보를 표현한 그래프 데이터 모델. CodeGraph는 함수/클래스를 노드, 호출/상속을 엣지로 삼음.
Impact Radius
어떤 심볼을 바꿨을 때 영향이 미치는 코드 범위. CodeGraph는 호출 그래프를 따라 N단계 BFS로 계산.
Debounce
연속해서 발생하는 이벤트를 일정 시간(여기선 2초) 동안 모아서 한 번만 처리하는 기법. 파일 저장 시 매번 인덱싱하지 않음.
Explore Agent
Claude Code가 코드 탐색용으로 띄우는 서브에이전트. 메인 세션의 컨텍스트 오염을 막기 위해 격리된 컨텍스트에서 실행.
Incremental Sync
변경된 파일만 다시 인덱싱하는 방식. 전체 재인덱싱 대비 수십 배 빠름. OS 파일 이벤트 + 2초 debounce.
JSON-RPC 2.0
method · params · id 구조의 단일 엔드포인트 RPC. MCP가 와이어 포맷으로 채택. stdio·WebSocket·HTTP 모두 가능.
FSEvents / inotify
각 OS의 네이티브 파일 시스템 변경 알림. macOS는 FSEvents, Linux는 inotify, Windows는 ReadDirectoryChangesW. 폴링보다 훨씬 가볍다.
11 — 참고 링크Refs

더 깊이 파고들 자료

공식 · 프로토콜 · 학습 리소스.

공식 자료

관련 표준 · 프로토콜

핵심 라이브러리 · 학습 리소스

Action · 이번 주에 해볼 것

CodeGraph를 처음 만났다면 이 순서로 5단계.

  1. 한 줄 인스톨. npx @colbymchenry/codegraphcodegraph init까지 끝낸 뒤 Claude Code 재시작. 인터랙티브 인스톨러가 어떻게 시스템 프롬프트까지 주입하는지 눈으로 확인.
  2. CLI로 직접 그래프 만져보기. codegraph status로 인덱스 통계, codegraph query "Auth"로 심볼 검색, codegraph affected src/api/login.ts로 영향 받는 파일 확인. AI가 쓰는 도구를 사람이 먼저 써본다.
  3. AI에게 큰 질문 던지기. Claude Code에서 "이 프로젝트의 인증 흐름은?" 같은 cross-cutting 질문. 응답 중 codegraph_explore가 호출되는지, grep/Read는 얼마나 줄었는지 확인.
  4. 스키마 한 번 들여다보기. .codegraph/codegraph.db를 SQLite 클라이언트로 열어 nodes·edges·nodes_fts 테이블 살펴보기. "그래프 DB 없이도 그래프 표현이 가능하구나"를 손으로 확인.
  5. 나만의 MCP 도구 만들기. CodeGraph의 src/mcp/를 참고해, 회사 위키나 Jira 티켓 검색용 MCP 서버를 작성해 Claude Code에 붙여본다. CodeGraph의 진짜 가치는 "MCP 서버 모범 사례"임을 체감.
원문 · colbymchenry/codegraph (GitHub) · 2026-05-20 · TrendShift 10위