MaguyvaのJavaScript対応: 混在ランタイムのリポジトリのためのAI検索
リポジトリがCommonJS、ESM、タスクスクリプト、テスト、そして古いアプリケーションコードを混在させているときに役立ちます。
拡張子
.cjs, .js, .mjs, .spec.js, ほか2件
TypeScriptは、多くのチームがAI支援によるリファクタリングにようやく安心感を抱けると期待する言語です。型システムは助けにはなりますが、本当の問題を取り除いてはくれません。共有パッケージ、DTO、生成されたクライアント、Reactコンポーネント、テスト、アプリコードのすべてが、大規模なリポジトリの中で同じ名前を引き合いに出しているという問題です。
TypeScriptにとって、基準は「構文を理解している」よりも高いところにあります。エージェントは、共有の型、フック、クライアントを編集する前に、定義から実装、影響範囲へとコントラクトをたどる必要があります。
Maguyvaは、.ts、.mts、.cts、そしてテストやストーリー周りの一般的なTypeScriptファイルのバリエーションにわたって、クラス、メソッド、インターフェース、型エイリアスを抽出します。メンバー接頭辞は正規化される一方、クラス修飾された識別子は保持されます。これは、リポジトリに素のヘルパー名と、同じ末尾セグメントを持つクラススコープのメソッドの両方がある場合に役立ちます。
JSXは、はぐれたマークアップではなく本物の構造シグナルとして扱われ、シンボルの期待値は多くのテスト、ストーリー、設定のパスを明示的にスキップします。これはモノレポにおいて重要です。そうでなければ、エージェントは実際の実装面ではなく足場の再発見に時間を使いすぎてしまうからです。
通常、次の3つの出発点のパターンで十分です。
find_symbolを使う — インターフェース、型エイリアス、フック、サービスの名前がすでに分かっているとき。dependency_searchを使う — パッケージ横断で波及する可能性のある共有の型やクライアントを変更する前に。structural_searchを使う — キーワード一致ではなくコードの形が必要なとき、例えば繰り返されるコンポーネントやメソッドのパターンなど。「チェックアウトの送信パスを追う」のような概念的な疑問には、生の検索よりもget_task_contextの方がしばしば良い最初の一手になります。
このページは、TypeScriptが複数のパッケージの調整レイヤーとなっているWeb/プラットフォームのモノレポにおいて、最も力を発揮します。リポジトリに今も古いJSが多く含まれる場合は、JavaScriptガイドを読んでください。あなたの疑問が本当に「エージェントはアプリコードとインフラのコンテキストを一緒に保持できるか」というものであれば、これをTerraformと組み合わせて読んでください。
最適な用途
エージェントワークフロー
エンジンの詳細
役立つMCPエントリーポイント
find_symbol
調べたい共有インターフェース、型エイリアス、フック、サービスが分かっている場合はここから始めてください。
dependency_search
共有のDTOやクライアントを変更する前に使用し、パッケージ横断での現実的な影響範囲を把握してください。
structural_search
文字列一致ではなくパターンで検索したいとき、例えば繰り返し現れるコンポーネントやメソッドの形状を探すときは、ASTレベルの検索を使用してください。
関連ガイド
リポジトリがCommonJS、ESM、タスクスクリプト、テスト、そして古いアプリケーションコードを混在させているときに役立ちます。
拡張子
.cjs, .js, .mjs, .spec.js, ほか2件
インフラコードがリポジトリのコンテキストの一部であり、エージェントが適当にやり過ごしてよいものではないときに役立ちます。
拡張子
.tf, .tfvars