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)パターンを実装しています。
- インデックスサーバー: Rust ベースのサーバーが tree-sitter を使用してサポート言語を解析し、プロジェクトのファイルのシンボルテーブルと相互参照を構築します。
- クエリインターフェース: 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 など、幅広い言語をサポートしています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト