TypeScriptコードベース用のRAG(Retrieval-Augmented Generation)システム。コードベースを解析してベクトルデータベースを構築し、自然言語の質問に対して関連するコードを参照しながら回答を生成します。
- コードチャンキング: TypeScriptファイルを意味のある単位(クラス、関数、メソッドなど)で分割
- エンベディング生成: OpenRouter APIを使用してコードの意味を表すベクトルを生成
- ベクトルデータベース: 高速な類似検索のためのインデックスを構築
- 質問応答: 自然言語の質問に対して関連コードを参照した回答を生成
- MCPサーバー: Clineから直接利用可能なインターフェース
# グローバルインストール
npm install -g codebase-rag-typescript
# ローカルインストール
npm install codebase-rag-typescript# リポジトリのクローン
git clone https://github.com/username/codebase-rag-typescript.git
cd codebase-rag-typescript
# 依存関係のインストール
npm install
# ビルド
npm run buildAPIキーは以下の方法で指定できます:
- コマンドラインオプション:
--api-keyまたは-k - 環境変数:
OPENROUTER_API_KEY - .envファイル: プロジェクトのルートに
.envファイルを作成
.envファイルの例:
# OpenRouter API Key
OPENROUTER_API_KEY=your_api_key_here
# OpenRouter API設定(オプション)
# OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
# OPENROUTER_SITE_URL=https://example.com
# OPENROUTER_SITE_NAME=RAG Generator
グローバルインストールした場合:
# RAGシステムの構築
ts-rag build --src ./src --output ./rag-data
# 質問
ts-rag query "このプロジェクトのルーティングはどのように実装されていますか?" --data ./rag-data
# MCPサーバーの起動
ts-rag mcp-server --data ./rag-dataローカルインストールした場合:
# package.jsonにスクリプトを追加
{
"scripts": {
"rag:build": "ts-rag build --src ./src --output ./rag-data",
"rag:query": "ts-rag query --data ./rag-data",
"rag:mcp-server": "ts-rag mcp-server --data ./rag-data"
}
}
# スクリプトの実行
npm run rag:build
npm run rag:query -- "このプロジェクトのルーティングはどのように実装されていますか?"
npm run rag:mcp-server- MCPサーバーを起動:
ts-rag mcp-server --data ./rag-data- Clineの設定ファイルに以下を追加:
{
"mcpServers": {
"codebase-rag": {
"command": "ts-rag",
"args": ["mcp-server", "--data", "./rag-data"],
"cwd": "/path/to/your/project",
"env": {
"OPENROUTER_API_KEY": "your-api-key"
}
}
}
}- Clineから以下のように利用:
use_mcp_tool
server_name: codebase-rag
tool_name: query_codebase
arguments: {
"question": "このプロジェクトのルーティングはどのように実装されていますか?"
}
--src, -s: ソースコードのルートディレクトリ(必須)--output, -o: RAGデータの出力先(デフォルト:./rag-data)--api-key, -k: OpenRouter API Key(環境変数OPENROUTER_API_KEYでも設定可能)--site-url: サイトURL(OpenRouter用)--site-name: サイト名(OpenRouter用)
<question>: 質問文(必須)--data, -d: RAGデータのディレクトリ(デフォルト:./rag-data)--api-key, -k: OpenRouter API Key(環境変数OPENROUTER_API_KEYでも設定可能)--site-url: サイトURL(OpenRouter用)--site-name: サイト名(OpenRouter用)
--data, -d: RAGデータのディレクトリ(デフォルト:./rag-data)--api-key, -k: OpenRouter API Key(環境変数OPENROUTER_API_KEYでも設定可能)--site-url: サイトURL(OpenRouter用)--site-name: サイト名(OpenRouter用)
MIT