target パラメータで切り替えます。
Agent はターミナルで grep / find を実行するよりも本ツールを優先します。構造化された結果を返し、依存関係ディレクトリを自動的にスキップし、Windows でも同様に動作するためです。
依存関係
追加の依存関係は不要で、デフォルトで利用可能です。ripgrep(rg)がインストールされている場合は自動的に利用され、検索がより高速になります。
パラメータ
内容の検索
デフォルトのモードです。一致ごとにファイル、行番号、その行の内容を返します:output_mode=files で出力量を大きく削減できます。
ファイルを探す
target=files では pattern をファイル名に対して照合し、結果は更新日時の新しい順に並びます。複数一致した場合、直前に作業したファイルが目的のものであることがほとんどだからです:
* や ? を含まない単語だけを指定した場合は「部分一致」として扱われます。たとえば ai-news は *ai-news* と同じ意味になり、ファイル名を正確に覚えている必要はありません。
ファイル名でファイルを探すには
target=files が必要です。内容検索で report.md を探しても、その名前に言及しているファイルが見つかるだけで、ファイル自体は見つかりません。デフォルトで除外されるディレクトリ
依存関係やビルド成果物で検索結果が埋もれないよう、以下のディレクトリは常にスキップされます:.git、node_modules、__pycache__、.venv、venv、.mypy_cache、.pytest_cache、dist、build、.next、target、vendor、.tox、coverage、.idea。
さらに ripgrep がインストールされている場合は、.gitignore で無視されているファイルもスキップされます。
これらを検索する必要がある場合(サードパーティのソースを調べる場合など)、no_ignore=true で上記2種類の除外を同時に解除できます。検索結果が0件で、かつそうしたディレクトリがスキップされていた場合は、どれをスキップしたかを示す notice が結果に付きます。
ユースケース
- 関数、設定項目、エラーメッセージがコードベースのどこにあるかを特定する
- 以前生成したドキュメント、レポート、Webページをファイル名から見つける
- ある書き方がプロジェクト内で何回登場するかを数える
