JaredStewart/coderlm

Tree-sitter-powered code indexing server that gives LLM agents precise, on-demand access to symbols, implementations, callers, tests, and grep across multi-language projects - so they explore codebases through targeted queries instead of loading everything into context.

해결하는 문제

CodeRLM은 LLM 에이전트가 컨텍스트 창을 초과하는 대규모 코드베이스를 탐색하는 데 어려움을 겪는 문제를 해결합니다. 전체 파일을 로드하거나 기본 키워드 검색(glob/grep)에 의존하는 대신, 에이전트가 코드베이스를 외부 데이터로 재귀적으로 탐색하여 필요한 특정 심볼, 호출자, 소스 코드만 검색할 수 있게 합니다.

작동 방식

이 프로젝트는 두 부분으로 구성된 아키텍처로 재귀적 언어 모델(RLM) 패턴을 구현합니다.

  1. 인덱싱 서버: Rust 기반 서버가 tree-sitter를 사용하여 지원되는 언어를 파싱하고 프로젝트 파일에 대한 교차 참조가 포함된 심볼 테이블을 구축합니다.
  2. 쿼리 인터페이스: LLM 에이전트(예: Claude Code)는 JSON API를 사용하여 이 인덱스를 쿼리합니다. 이름으로 심볼을 검색하고, 파일 내 함수를 나열하고, 특정 함수의 호출자를 찾거나, 정확한 소스 코드 범위를 검색할 수 있습니다.

대상 사용자

AI 코딩 어시스턴트(Claude Code, Cursor, Windsurf, Copilot 등)를 사용하는 개발자로서, 에이전트가 익숙하지 않거나 대규모 코드베이스를 더 정확하고 효율적으로 탐색하고 이해할 수 있기를 원하는 분.

주요 특징

  • Tree-sitter 인덱싱: 단순한 텍스트 검색이 아닌 코드의 깊은 구조적 이해(함수, 클래스, 메서드)를 제공합니다.
  • 재귀적 탐색: RLM 패턴을 구현하여 복잡한 코드베이스 쿼리를 대상이 지정된 조회로 분해합니다.
  • 다중 플랫폼 지원: 전용 Claude Code 플러그인과 Cursor 및 Windsurf와 같은 다른 AI 플랫폼용 생성기를 포함합니다.
  • 광범위한 언어 지원: tree-sitter를 통해 Rust, Python, TypeScript, Go, Java 등 다양한 언어를 지원합니다.

관련

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