프로젝트 소개
ContextAtlas는 Claude Code에 코드베이스의 사전 계산된 "atlas"를 제공하는 MCP 서버로, 아키텍처 관련 질문을 여러 번의 grep 및 파일 읽기 호출 대신 하나의 융합된 컨텍스트 번들로 답할 수 있게 해줍니다.
기능
- 인덱싱 시점에 ADR, README, 설계 문서, 내보낸 심볼의 docstring, 필터링된 git 커밋 메시지에서 구조화된 주장(claim)을 추출하여 특정 코드 심볼에 연결합니다.
- 쿼리 시점에 심볼별로 네 가지 신호를 융합합니다: LSP 구조 데이터(정의, 참조, 타입, 진단), 아키텍처 의도 주장, git 이력(최근 커밋, hot/cold, 동시 변경), 테스트 연관성.
- 세 가지 MCP 도구가 노출됩니다: get_symbol_context(알려진 심볼의 전체 번들, 최대 10개까지 다중 심볼 모드), find_by_intent(로컬 SQLite FTS5에서 인덱싱된 주장 텍스트에 대한 BM25 검색), impact_of_change(동시 변경 및 테스트 영향을 사용한 영향 범위).
- 쿼리 해석은 로컬에서 이루어집니다: SQLite 조회와 로컬 언어 서버 호출만 사용하며, 일반 사용 중에는 네트워크 트래픽이나 모델 호출이 없습니다.
언어 지원
TypeScript, Python, Go, Ruby, C#은 언어 서버(typescript-language-server, Pyright, gopls, ruby-lsp, csharp-ls)를 통해 지원되며, 이들은 사용자가 설치하는 피어 의존성입니다. Node.js 20+가 필요합니다.
두 가지 설정 경로
- Skills 경로: 패키지를 설치하고 init을 실행한 뒤 Claude Code 내에서 /generate-adrs, /index-atlas, /prime-atlas를 사용합니다. API 키가 필요하지 않습니다.
- CLI 경로: 설치 후 ANTHROPIC_API_KEY를 설정하고 init, generate-adrs, index, doctor를 실행합니다.
docs/adr/ 아래에 이미 ADR이 있는 저장소는 generate-adrs를 건너뛸 수 있습니다. 기존 ADR이 자동으로 추출되기 때문입니다.
커밋된 atlas 패턴
생성된 atlas.json은 코드 및 ADR과 함께 저장소에 커밋하도록 의도되어 있습니다. 저장소를 클론한 팀원은 추출을 다시 실행하지 않고 로컬 캐시로 직접 가져오며, 기여자는 변경이 아키텍처 주장에 영향을 미칠 때 재생성할 수 있습니다. 커밋할 수 없는 팀은 atlas.committed: false로 설정하고 각 개발자가 자체적으로 추출을 실행할 수 있습니다.
프라이버시 관련 사항
인덱싱 시점에 설정과 일치하는 ADR/문서 파일, 내보낸 심볼의 docstring 텍스트, 필터링된 커밋 메시지가 Anthropic API로 전송됩니다. 소스 코드, 해당 메시지 이외의 git 이력, LSP 데이터, 런타임 쿼리 내용은 전송되지 않습니다. 소스 파일과 일치하는 docs.include glob은 해당 파일 전체를 전송하게 됩니다. 추출 스트림은 제한할 수 있습니다(예: ADR만). 모든 추출된 주장과 쿼리 해석은 로컬 SQLite 파일에 남습니다.
보고된 벤치마크
README는 사전 등록된 프롬프트와 블라인드 채점을 사용하여 honojs/hono, encode/httpx, spf13/cobra에 대한 벤치마크 스위트를 보고하며, 아키텍처 의도 프롬프트에서 45-72%의 토큰 감소와 hono 참조 실행에서 총 39% 적은 도구 호출을 인용합니다. 또한 신뢰 구간과 함께 품질 차이(사실 정확성, 환각, 실행 가능성, 완전성)를 보고하며, 동점 및 트릭 프롬프트 버킷에서 ContextAtlas가 순손실(net-negative)을 보였다고 밝히는데, 저자들은 이를 예상된 결과로 제시합니다. 이 수치는 프로젝트 자체 벤치마크 저장소에서 나온 것이며 독립적으로 검증되지 않은 저자 보고로 취급해야 합니다.
상태 및 라이선스
README는 v0.9.0이 2026-05-16에 출시되었으며 패키지가 아직 npm에 게시되지 않았다고 밝히므로, 설치 지침은 의도된 형태를 설명합니다. MIT 라이선스.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.