mcpField
S
search-tools

search-tools

github.com/parcadei開発3.9k491 回インストール39 週間前に更新
リポジトリ

search-tools について

search-toolsは、検索内容に応じたコード検索ツールの選び方を示すスキルです。意味検索、構造検索、テキスト検索、文字列検索を区別し、それぞれの要件と例を挙げています。

主な機能

  1. 01検索目的に応じたツール選択
  2. 02LEANNによる意味検索
  3. 03AST-grepによる構造検索
  4. 04Morphによるテキスト検索
  5. 05Grepによる文字列・正規表現検索

活用シーン

  1. 01概念的なコードパターンの発見
  2. 02関数呼び出しや使用箇所の特定
  3. 03ファイル内の語句やTODOの検索
  4. 04正確な名前や正規表現の検索

MCP 対応

AST-grepにはMCPサーバーが必要だと説明しています。それ以外のMCPサーバー設定や管理については記載がありません。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/parcadei/continuous-claude-v3 --skill search-tools

インストール後、Claude Code で/search-toolsを入力して読み込まれたか確認します。

詳細

検索ツールの選択基準

コードを検索するときは、次の判断ツリーを使用してください。

判断ツリー

Need CONCEPTUAL/SEMANTIC search?
  (how does X work, find patterns, understand architecture)
  → Use LEANN (/leann-search) - embedding-based semantic search
  → PreToolUse hook auto-redirects semantic Grep queries

Need to understand code STRUCTURE?
  (find function calls, class usages, refactor patterns)
  → Use AST-grep (/ast-grep-find)

Need to find TEXT in code?
  → Use Morph (/morph-search) - 20x faster
  → If no Morph API key: fall back to Grep tool

Simple one-off search?
  → Use built-in Grep tool directly

ツールの比較

ツール最適な用途必要なもの
LEANNセマンティック検索:「キャッシュはどのように機能するか」「エラー処理のパターン」などの概念的なクエリインデックスの構築
AST-grep構造パターン:「foo() のすべての呼び出しを検索」、リファクタリング、型による使用箇所の検索MCP サーバー
Morph高速なテキスト検索:「エラーに言及しているファイルを検索」、コードベース全体の grepAPI キー
Grepリテラルパターン、クラス名/関数名、正規表現不要(組み込み)

例

LEANN(セマンティック/概念検索):

  • 「認証はどのように機能するか」
  • 「エラー処理のパターンを検索」
  • 「レート制限はどこに実装されているか」

AST-grep(構造検索):

  • 「Promise を返すすべての関数を検索」
  • 「useState を使用しているすべての React コンポーネントを検索」
  • 「X のすべてのインポートを Y にリファクタリング」

Morph(テキスト検索):

  • 「'authentication' に言及しているすべてのファイルを検索」
  • 「TODO コメントを検索」

Grep(リテラル検索):

  • class ProviderAdapter
  • def __init__
  • 正規表現パターン

LEANN コマンド

# Search with semantic query
leann search opc-dev "how does blackboard communication work" --top-k 5

# List available indexes
leann list

# Rebuild index (when code changes)
leann build opc-dev --docs dir1 dir2 --no-recompute --no-compact --force

コメント