codebase-exploration について
Repowiseでインデックス化したコードベースを調べるスキルです。アーキテクチャ概要、引用付き回答、ハイブリッド検索、シンボルのコンテキストを使い、未把握のリポジトリを調査できます。
主な機能
- 01リポジトリのアーキテクチャ概要
- 02引用と信頼度付きの回答
- 03シンボル・パス・概念の複合検索
- 04ファイルとシンボルの一括コンテキスト取得
- 05行範囲付きの正確なソース取得
活用シーン
- 01未把握のリポジトリの概要把握
- 02特定の動作の実装箇所の追跡
- 03名前や概念からシンボルやファイルを検索
MCP 対応
get_overview、get_answer、search_codebase、get_context、get_symbolなどのRepowise MCPツールで、インデックス化されたリポジトリ情報を検索します。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ repowise-dev/ repowise --skill codebase-explorationインストール後、Claude Code で/codebase-explorationを入力して読み込まれたか確認します。
詳細
Repowise を使ったコードベースの探索
このプロジェクトには、Repowise のインテリジェンスレイヤーがあります。コードベースを理解するために grep したり、ソースを直接読んだりする前に、まず Repowise MCP ツールを利用してください。通常のファイル読み取りでは得られないドキュメント、所有者情報、履歴、決定事項、グラフ構造が、何度も往復する代わりに、通常は一度のやり取りで返されます。
質問に応じたツールの選び方
| 知りたいこと… | 呼び出すツール |
|---|---|
| 慣れていないリポジトリの概要を把握する | get_overview() — アーキテクチャの概要、主要モジュール、エントリーポイント、Git の状態、ナレッジマップを確認できます。マップを把握したら、以降は省略してください。 |
| 「X はどのように/どこで/なぜ動くのか」への直接的な回答 | get_answer(question="…"):引用と、信頼性を示す confidence を含む、統合された回答を返します。検索 → 読み取り → 推論のループをまとめます。 |
| シンボル、ファイル、または曖昧な概念を見つける | search_codebase(query="…") — ハイブリッド検索です。mode="auto" は、識別子をインデックス化されたシンボルのヒット(symbol_id/行範囲 → get_symbol に渡す)に、パスをファイルページ(→ get_context)に、文章をセマンティック Wiki 検索(各ヒットに search_method として embedding または bm25 を表示)に振り分けます。mode=symbol|path|concept|hybrid で分岐を指定し、symbol_kind でシンボルを絞り込めます。 |
| 特定のファイルやシンボルの概要カード | get_context(targets=[…]) — タイトル、概要、シグネチャ、ホットスポットのフラグ、主な呼び出し元、決定事項のタイトル、symbol_ids を返します。symbol_id のない行は path::name です。1 回の呼び出しで複数のターゲットをまとめて指定できます。 |
| 1 つのシンボルの実際のソース | get_symbol("path/to/file.py::Name") — 行範囲付きの正確なバイト列を返します。Read とオフセット計算を組み合わせるより効率的です。get_context の symbol_id を使ってください。 |
推奨される手順
- 未知の領域を調べる → まず 1 回
get_overview()を呼び出します。 - 具体的な質問がある → 最初に
get_answer(question=…)を呼び出します。- 信頼度が高い → パスを引用して回答します。
- 信頼度が
medium/low→best_guesses[0].fileまたはfallback_targets[0]をget_contextに渡し、続いてバイト列を確認するためget_symbolを呼び出します。
- 名前が分かっているシンボルやパス →
search_codebase(query="Name")/search_codebase(query="path/to/file.py")を呼び出します。シンボルのヒットはそのままget_symbolに渡し、ファイルのヒットはget_contextに渡します。 - 概念に関連するファイルをさらに探す →
search_codebaseを呼び出し、ヒットをget_contextにまとめて渡してから、実際に必要な本体だけをget_symbolで確認します。
インデックス化されたコンテキストにユーザーが尋ねた具体的な情報が含まれていない場合に限り、独自のファイル読み取りツールや検索ツールに切り替えてください。
信頼性の指標 — 次の場合は確認してください
_meta.stale_warningがある(インデックスが HEAD と異なっている)、またはconfidenceがmedium/low、または- 結果の
search_methodがbm25である
それ以外の場合、回答は最新です。そのまま活用してください。
エラー処理
- 「リポジトリが見つかりません。まず 'repowise init' を実行してください。」→
/repowise:initを提案します。 このリポジトリがスクラッチクローン、フィクスチャ、または ワークツリーの場合は、--no-editor-setupを追加してください。そうしないとinitが、ユーザーのグローバルなrepowiseMCP エントリーをこのリポジトリに向け直してしまいます。 - MCP ツールが利用できない → プラグインがインストールされている場合は、当てずっぽうに grep するのではなく、対応する CLI スラッシュコマンド(
/repowise:ask、/repowise:context、/repowise:symbol、/repowise:search)を優先してください。 get_answer/search_codebaseの結果が空 → リポジトリにテンプレートから生成された Wiki がある可能性があります。明示的なパスを指定してget_contextに切り替え、モデルが作成したページ(repowise generate、または LLM プロバイダーを指定した/repowise:init)を利用すると、より充実したドキュメントとセマンティック検索が使えることを伝えてください。- ツールがまったく接続できない →
repowiseバイナリがインストールされていない可能性があります。/repowise:initを提案してください。
コメント
Markdown 対応