MaguyvaのC#対応: .NETコードベースをより安全にリファクタリング
.NETリポジトリが十分に大規模化し、安全なAI支援が実際の構造理解に左右されるようになったときに適しています。
拡張子
.cs, .csx
あなたの関数と組み込みのコマンドレットは、同じ命名スタイルを共有しています。Get-Invoice と Get-ChildItem は同じように見えるため、動詞で「組み込み」を除外するツールは、あなた自身の関数まで捨ててしまいます。スクリプトはまた、モジュールレベルのコード、関数、クラス、スクリプトブロックを1つのファイルに混在させるため、ある行がどの関数に属するかを見分けにくくなります。
Maguyvaは両方の種類の呼び出しを保持し、それぞれをそれが置かれた関数に帰属させます。
Maguyvaは .ps1、.psm1、.psd1 ファイルに対応しています。関数とクラスメソッドは呼び出し可能なものとして、クラスと列挙型は型として抽出されます。スクリプトとメソッドのパラメーターが追跡され、関数内の読み取りと書き込みはモジュールではなくその関数に帰属されます。
コマンドレットの呼び出しはグラフに残ります。PowerShellには、ほとんどの言語で使われる標準ライブラリのフィルターが適用されないため、Write-Host、Get-ChildItem、Restart-Service は、あなた自身の Get-* や Set-* の関数と並んで呼び出しのエッジとして表示されます。エージェントは、どのスクリプトがサービスを再起動するか、どの関数がコンソールに書き込むかを尋ねて、構造に基づいた答えを得られます。
PowerShellでは適用対象外とされる関係性の種類がないため、グラフにはクラスの継承とインターフェース実装、インスタンス化、制御フロー、読み取りと書き込みも記録されます。
Invoke-Backup を呼び出しているのは誰で、どのスケジュール済みスクリプトからか?」(find_symbol、次に dependency_search の incoming)Restart-Service を呼び出している関数はどれか?」(dependency_search)Deploy-Site が最初から最後まで何をするかを追跡して。」(get_task_context)Write-Host や Select-Object のような非常に一般的なものは、大量の incoming エッジを持ちます。焦点を絞ったコールグラフが必要なときは、あなた自身の関数から始めてください。Import-Module とドットソースは通常のコマンドなので、structural_search の imports プリセットは何も選択しません。それらを一覧にするには text_pattern_search を使ってください。クイックスタートでリポジトリを接続し、互換性ページで対応マトリクスを確認してください。スクリプトが呼び出す.NETのコードについては、C#ガイドをご覧ください。
最適な用途
エージェントワークフロー
エンジンの詳細
役立つMCPエントリーポイント
定義と呼び出し元が必要なときに、高度な関数やクラスで使ってください。
`Restart-Service` のようなコマンドレットに対してincomingのトラバーサルを使い、それを呼び出しているスクリプトを確認してください。
「`Deploy-Site` が最初から最後まで何をするかを追跡して」のようなプロンプトに使ってください。
関連ガイド
.NETリポジトリが十分に大規模化し、安全なAI支援が実際の構造理解に左右されるようになったときに適しています。
拡張子
.cs, .csx
Pythonのコードベースがサービス、スクリプト、型スタブ、運用のつなぎコードにまたがって広がっているときに役立ちます。
拡張子
.py, .pyi, .pyw