Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

rokudone/codebase-rag-typescript

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TypeScript Codebase RAG

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 build

環境設定

APIキーは以下の方法で指定できます:

  1. コマンドラインオプション: --api-key または -k
  2. 環境変数: OPENROUTER_API_KEY
  3. .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

Clineからの利用(MCPサーバー)

  1. MCPサーバーを起動:
ts-rag mcp-server --data ./rag-data
  1. 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"
      }
    }
  }
}
  1. Clineから以下のように利用:
use_mcp_tool
server_name: codebase-rag
tool_name: query_codebase
arguments: {
  "question": "このプロジェクトのルーティングはどのように実装されていますか?"
}

オプション

buildコマンド

  • --src, -s: ソースコードのルートディレクトリ(必須)
  • --output, -o: RAGデータの出力先(デフォルト: ./rag-data
  • --api-key, -k: OpenRouter API Key(環境変数 OPENROUTER_API_KEY でも設定可能)
  • --site-url: サイトURL(OpenRouter用)
  • --site-name: サイト名(OpenRouter用)

queryコマンド

  • <question>: 質問文(必須)
  • --data, -d: RAGデータのディレクトリ(デフォルト: ./rag-data
  • --api-key, -k: OpenRouter API Key(環境変数 OPENROUTER_API_KEY でも設定可能)
  • --site-url: サイトURL(OpenRouter用)
  • --site-name: サイト名(OpenRouter用)

mcp-serverコマンド

  • --data, -d: RAGデータのディレクトリ(デフォルト: ./rag-data
  • --api-key, -k: OpenRouter API Key(環境変数 OPENROUTER_API_KEY でも設定可能)
  • --site-url: サイトURL(OpenRouter用)
  • --site-name: サイト名(OpenRouter用)

ライセンス

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
Morty Proxy This is a proxified and sanitized view of the page, visit original site.