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 에이전트가 코드를 읽을 때 발생하는 높은 비용과 비효율성을 줄여줍니다. 특정 함수를 찾거나 호출 체인을 이해하기 위해 여러 번의 도구 호출(globbing, 전체 파일 읽기, grepping 등)을 수행하는 대신, tilth는 단 한 번의 호출로 구조적 인지 능력을 제공하여 토큰 사용량을 크게 낮추고 정확도를 높입니다.

How it works

Tilth는 빠른 검색을 위해 ripgrep을, 16개 언어에 대한 AST 파싱을 위해 tree-sitter를, 그리고 속도를 위해 메모리 맵 파일 읽기를 결합합니다. 코드를 단순한 텍스트가 아닌 구조적으로 분석하여 다음과 같은 기능을 제공합니다:

  • Outline large files: 대규모 파일의 전체 내용 대신 구조적 요약을 자동으로 제공하여 토큰을 절약합니다.
  • Find definitions: 심볼이 단순히 언급된 곳보다 심볼이 정의된 위치를 우선적으로 찾습니다.
  • Trace call chains: 검색 결과에 "callee footer"를 포함하여 에이전트가 새로운 검색 없이도 함수 호출을 따라갈 수 있게 합니다.
  • Structural Diffing: 라인 단위가 아닌 함수 단위로 변경 사항을 감지합니다.
  • MCP Integration: Model Context Protocol (MCP) 서버로 작동하여, Claude Code나 Cursor와 같은 AI 에이전트가 이러한 구조적 도구를 직접 사용할 수 있게 합니다.

Who it’s for

  • 대규모 코드베이스를 효율적으로적으로 탐색해야 하는 AI 에이전트 및 LLM 기반 코딩 어시스턴트.
  • 코드 정의, 의존성 및 호출 지점을 탐색하기 위한 빠르고 구조적인 CLI 도구를 원하는 개발자.

Highlights

  • Cost Reduction: 다양한 모델에 걸쳐 정답당 비용이 38-44% 감소함을 벤치마크 결과가 보여줍니다.
  • Structural Search: 단순한 문자열 매칭이 아닌, tree-sitter를 사용하여 실제 정의와 호출 지점을 찾습니다.
  • Smart Outlining: 토큰 수(~6000 tokens)에 따라 전체 내용과 구조적 개요(outline) 사이를 전환합니다.
  • Broad Language Support: Rust, TypeScript, Python, Go, Java를 포함한 16개 언어를 지원합니다.
  • Hash-Anchored Editing: 해시를 사용하여 편집이 코드의 올바른 버전의 적용되도록 보장하는 선택적 편집 모드입니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트