Recipes

atlas v0.2.0 — 다국어 코드 인덱스, 더 간결해진 MCP 도구, 프로젝트 vault

README 링크에서 발견 · today

Research & KnowledgeSoftware & DevOps

atlas v0.2.0 릴리스 노트: 인덱싱 범위 확대, 도구 수 감소, 더 안전해진 메모리.

What they did

작성자가 atlas v0.2.0을 출시했는데, 이 릴리스는 코드 인덱스를 Rust를 넘어 Go, TypeScript와 JavaScript, C#, Python, Java, Kotlin으로 확장한다. 각 언어는 설치되어 있을 경우 해당 언어의 SCIP 인덱서를 통해 인덱싱되며(atlas는 인덱서를 직접 설치하지 않는다), 그렇지 않으면 자체 소유한 스캐너를 통해 인덱싱되는데, 릴리스 노트에 따르면 측정된 프로젝트에서 인덱서 정의의 98.8%에서 99.8%를 찾아낸다고 한다. CI나 WSL에서 작성된 미리 빌드된 index.scip도 읽는다. 심볼 도구는 이제 gRPC를 따라간다. .proto rpc는 지원되는 모든 언어에서 생성된 스텁, 이를 통해 이루어진 호출, 그리고 이를 구현하는 서버 타입으로 응답한다. 라이브러리 정의는 이를 패키지로 사용하는 코드 루트의 호출 지점으로 응답한다. 테스트 다이제스트는 go test(일반 및 -json), pytest, Maven과 Gradle, dotnet test, jest와 vitest로 확장되었으며, 각각 총계와 함께 각 실패한 테스트의 메시지와 위치를 제공한다. 도구 목록은 47개 도구와 약 5,930 토큰에서 14개 도구와 약 1,480 토큰으로 줄었으며, note, write, discussion, misses 도구는 op 인자를 받는 네 개의 도구 뒤로 접혀 들어갔고, 모든 op와 인자는 atlas://help MCP 리소스에 설명되어 있다. 응답은 기본적으로 일반 텍스트이며, 어떤 도구에서든 format: "json"을 사용할 수 있다. 훅은 동일한 응답에 대해 더 적게 주입한다. 컨텍스트 선택은 이미 주입된 레코드를 일치하는 절로 잘라낸 한 줄짜리 포인터로 다시 진술하여, 메모리 평가에서 주입되는 토큰을 6,744에서 6,369로 줄이면서 동등하거나 더 나은 통과율을 보였고, 레인 브리프는 17,709에서 14,308로 줄였다. Refs는 콘텐츠 주소 지정 방식(key@hash, src:path:a-b@hash)이 되어 리콜이 정확한 텍스트를 반환하거나 변경되었음을 보고한다. 인덱싱되지 않은 폴더에서의 첫 세션은 프로젝트 볼트 생성을 제안하며, atlas settings add-project --new는 새로 설치한 환경에서도 작동한다. .env, 키, 자격 증명 파일에 대한 거부 목록은 이제 인덱싱, 읽기, 쓰기, 다이제스트, 크롭 전반에 걸쳐 유지된다. 동시 세션은 커밋된 쓰기에서 더 이상 오류를 내지 않으며, 쓰기 도중 종료된 후에도 --memory-check가 실패하는 상태로 남지 않는다. 컴팩션 지원과 세션 트랜스크립트를 소스로 사용하는 기능은 실험적으로 제공되며 기본적으로 꺼져 있다.

How it went

릴리스는 완전한 업그레이드 경로와 함께 제공되었습니다. 코드 인덱스 스키마는 새로운 code_units 및 code_packages 테이블과 함께 code-7로 이동했고, v0.1 데이터베이스는 제자리에서 마이그레이션되며, 새로 지원되는 언어를 보유한 코드 루트는 백그라운드에서 한 번 재인덱싱됩니다. v0.1 도구 이름은 여전히 작동하지만 더 이상 목록에 표시되지 않으며 v0.3.0에서 제거될 예정입니다. 설치는 Claude Code에서 두 개의 명령으로 이루어지는 플러그인 추가 방식이며, 세션 시작 시 SHA-256을 기준으로 자체 업데이트를 확인합니다. Compaction 및 transcript 기능은 라이브 테스트가 명시적으로 이루어지지 않았으며 구성 플래그 뒤에 게이트되어 있습니다.

Worth knowing

Compaction 지원과 세션 트랜스크립트는 실험적이며 기본적으로 꺼져 있습니다. 노트에 따르면 compaction은 아직 라이브 테스트되지 않았고, 라이브 head-to-head는 Claude 사용량을 소모하므로 수동으로 실행합니다. 스캐너 폴백은 인덱서 정의의 98.8%에서 99.8%까지 도달하며, 전부는 아니고, SCIP 인덱서가 설치되어 있지 않을 때만 작동합니다. 이전 도구 이름(mcp__atlas__read_note)을 지정한 권한 허용 목록은 새 이름으로 업데이트해야 합니다. atlas settings add-project는 폴더 이름이 없으면 이제 --yes 없이는 아무것도 쓰지 않습니다. Obsidian은 선택 사항이지만, 크로스 볼트 make_link 링크를 열려면 Obsidian이 필요합니다.

Wiring

Claude Code 플러그인 마켓플레이스(bloodfeast/atlas)를 통해 설치한 뒤 재시작하세요. 첫 시작 시 서버는 시작용 설정을 작성하고 bge-small-en-v1.5-int8 임베딩 모델을 백그라운드에서 다운로드하며, 고정된 SHA-256과 대조해 검증합니다. 또는 포그라운드에서 atlas --setup을 실행해 각 단계를 확인할 수 있습니다. MCP 서버는 14개의 도구를 노출합니다. note, edit, discuss, miss는 op 인자를 받고, id 없이 lookup하면 식별자 목록을 표시하며, remember는 old로 대체(supersede)하고, recall은 op: "status"와 op: "log"를 받습니다. 전체 op 및 인자 문서는 atlas://help MCP 리소스에 있습니다. 코드 인덱싱은 해당 언어의 SCIP 인덱서가 있으면 이를 사용하고, 없으면 자체 스캐너로 폴백하며, code.roots[].scip가 false가 아닌 한 미리 빌드된 index.scip를 읽습니다. 설정은 atlas.json에 있으며, compact.enabled와 memory.transcripts가 실험적 기능을 제어하고, recall.session_budget_tokens, recall.budget_tokens, recall.inject_floor가 훅 주입을 조정합니다. atlas settings undo는 설정 변경을 되돌리며, 터미널이 없으면 --yes가 필요합니다.

Try it yourself

Claude Code에서 `/plugin marketplace add bloodfeast/atlas`와 `/plugin install atlas@atlas`로 atlas v0.2.0을 설치한 뒤 재시작하세요. Go, TypeScript, Python, Java가 포함된 repo에서 한 package에 정의되고 다른 package에서 사용되는 함수에 대해 agent에게 symbol을 실행하도록 요청하고, 호출 지점(call sites)을 반환하는지 확인하세요. .proto rpc에 대해 symbol을 실행하도록 요청하고, 생성된 stub과 구현 server type이 나열되는지 확인하세요. agent를 통해 test suite를 실행하고, digest가 총계와 함께 각 실패 test의 message 및 location을 보고하는지 확인하세요. 그런 다음 tools/list가 14개 tool인지 확인하고, atlas://help를 fetch하여 op 설명을 확인하며, read_note 응답이 plain text로 반환되는 동시에 format: "json"은 여전히 JSON을 반환하는지 확인하세요. 마지막으로, atlas가 index하지 않은 folder에서 첫 session이 project vault 생성을 제안하는지 확인하세요.

Source

English

Tools in this stack