jahala/tilth

Smart(er) code reading for humans and AI agents. Reduces cost per correct answer by ~40% on average. Install: cargo install tilth -or- npx tilth

What it solves

AI 에이전트는 대규모 코드베이스에서 종종 어려움을 겪으며, 단일 함수를 찾기 위해 glob, grep, 파일 읽기와 같은 여러 도구 호출을 반복해 토큰과 시간을 낭비합니다. tilth는 코드베이스에 대한 구조적 인식을 제공하여 에이전트와 인간이 정의를 찾고, 호출 체인을 추적하며, 중복 읽기 없이 파일 내용을 이해할 수 있게 합니다.

How it works

tilth는 빠른 텍스트 검색을 위한 ripgrep, 16개 언어에 대한 AST 파싱을 제공하는 tree-sitter, 그리고 속도를 위한 메모리 매핑 파일 읽기를 결합합니다. 파일 크기에 따라 처리 방식을 달리하여 작은 파일은 전체를 반환하고, 큰 파일은 내용의 구조화된 개요로 대체합니다.

주요 기능은 다음과 같습니다:

  • Structural Search: 텍스트가 나타나는 위치가 아니라 심볼이 정의된 위치를 찾습니다.
  • Call Chain Tracing: tree-sitter 쿼리를 사용해 호출자와 피호출자를 자동으로 해결합니다.
  • Dependency Analysis: 파일이 무엇을 import하고, 어떤 파일이 해당 파일에 의존하는지 식별합니다.
  • Structural Diff: 라인 기반 diff 대신 함수 수준의 변경 감지를 제공합니다.
  • MCP Integration: Model Context Protocol (MCP) 서버로 작동하여 Claude Code, Cursor, Windsurf 등 AI 에이전트와 직접 통합됩니다.

Who it’s for

토큰 비용을 줄이고 AI 기반 코드 탐색 및 편집의 정확성을 높이고자 하는 개발자와 AI 에이전트 제작자를 위한 도구입니다.

Highlights

  • Cost Reduction: 벤치마크 결과 Claude 3.5 Sonnet 등 모델에서 정답당 비용을 최대 44%까지 감소시켰습니다.
  • Language Support: Rust, TypeScript, Python, Go, Java 등을 포함한 16개 언어를 지원합니다.
  • High Performance: 런타임 의존성이 없고, Rust로 작성되었으며, 동시 캐시와 SIMD 사전 필터링을 활용합니다.
  • Hash-Anchored Editing: 해시를 사용해 편집이 올바른 라인에 적용되도록 보장하는 선택적 "Edit mode"를 제공, 파일이 변경될 때 오류를 방지합니다.
  • Broad MCP Support: 다양한 AI IDE와 에이전트에 쉽게 설치할 수 있습니다.