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)に頼る代わりに、エージェントはコードベースを外部データとして再帰的に探索し、必要な特定のシンボル、呼び出し元、ソースコードのみを取得できます。

仕組み

このプロジェクトは、2 つの部分からなるアーキテクチャで再帰的言語モデル(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 など、幅広い言語をサポートしています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト