# Antigravityがエージェントを実行する。Maguyvaがその地図を与える。

Canonical source: https://maguyva.ai/ja/for-antigravity

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Antigravityは、エージェントファーストなIDEです。エージェントは、エディタ、ターミナル、ブラウザにまたがって計画し、編集します。実際のモノレポでは、エージェントにはどのファイルが重要かを示す地図が必要です。Maguyvaはあなたのコードベースをインデックス化し、MCP経由で返します(セマンティック、AST、グラフ、テキスト)。だから「認証はどこで行われているか」と聞けば、7個のテストスタブではなく、実際の認証フローが返ってきます。

> Antigravityがエージェントを実行します。Maguyvaは、どのファイルに触れるべきかを教えます。

## 各レイヤーの役割

4つのパーツ。それぞれに役割があります。

### Antigravity

あなたのエージェントが計画し、編集し、検証する場所。

### @メンション + ルール

手動のコンテキストは、リポジトリが大きくなるまでは有効です。

### Maguyva

MCP経由の、自動的なコードベースの事実。

### 課金対象はワークスペース、シートではありません

エージェントはシート料金を払いません。[料金を見る](https://maguyva.ai/ja/pricing)

## Antigravityがエージェントを実行します。任せましょう。

エージェントIDEが問題なのではありません。Agent Manager、複数サーフェスでの実行、ルールファイルはどれも優れていて、あなたはすでにこう使っているはずです:

- エディタ、ターミナル、ブラウザにまたがるエージェントの計画と実行。
- 変更がローカルな場合の複数ファイル編集。
- リポジトリの規約やスタイルガードレールのためのエージェントルール。
- 特定のファイルをコンテキストに取り込むための`@`メンション。

それは続けてください。何ひとつなくなりません。

しかし、実際のモノレポ(ワークスペース依存を持つTypeScript、Pythonサービス、混在パッケージ)では、関連するファイルがまだエージェントのレーダーに入っていない瞬間、エージェントのコンテキストは崩れます。

## すでに試した手動の対処法と、それが崩れる場所

4つの手動対処法と、それぞれの失敗モード。左 = 今あなたがしていること。右 = それが崩れる場所。

### // ファイルに言及する

重要だと思う3つのファイルを`@`メンションします。エージェントはその中で綺麗に編集します。

### // 言及は推測に過ぎない

うまくいくのは、どのファイルが関わっているかをすでに知っている場合だけです。自律的なエージェントには、あなたが言及すべきだと知らなかったファイルこそが必要です。

### // スニペットを貼り付ける

別のパッケージから200行をエージェントに貼り付けて、十分なコンテキストを与えます。

### // 貼り付けたコードは古くなる

午前9時に貼り付けたスニペットは、午前11時にチームメイトが取り込んだリベースを反映していません。エージェントは、パッケージの幻のバージョンに対して編集していることになります。

### // コンテキストドキュメントを書く

エージェントルールファイルやアーキテクチャのマークダウンを書きます。今日のところは正しい。

### // ドキュメントはコードより速く陳腐化する

手で書いたものは、すべて陳腐化していきます。信頼できる情報源はコードです。キューレイヤーを説明するドキュメントは、1週間は正しくても、その後はずっと間違ったままです。

### // ルールファイルを保持する

命名規則、lint、ビルドコマンドのためにエージェントルールを追加します。振る舞いには最適です。

### // ルール ≠ インデックス

ルールは「コミット前に必ずpnpm tsc -bを実行する」を書くのに適した場所です。しかし、モノレポ内のすべてのシンボル、ファイル、呼び出し箇所を問い合わせ可能にするインデックスではありません。

## Maguyvaは、その下にあるレイヤーです

Antigravityの代替ではありません。そのMCPサポートにぶら下がる、リポジトリコンテキストレイヤーです。

- **Semantic + AST + グラフ + テキスト**: 意味、構造、依存関係、あるいはリテラルで検索。すべての結果に、ファイルパスと行番号が付きます。
- **デフォルトでパッケージ横断**: エージェントが今開いているパッケージだけでなく、モノレポ内のすべてのパッケージにわたる呼び出し箇所とインポートしている箇所。
- **ブランチを認識**: Maguyvaは、エージェントが編集しているバージョンのコードを把握しています。
- **自律性のために作られた**: 多くの編集を計画するエージェントには、CIが赤くなった後ではなく、事前に影響範囲が必要です。

> Antigravityが、何を編集するかを決める。
> Maguyvaは、エージェントに*その編集が何に触れるか*を教える。

## 3つのモノレポワークフロー

パッケージ横断、言語横断。エージェントのgrepではなく、実際のコールグラフに根ざしています。

### 01. 何にも言及せずに、パッケージ横断で認証フローを見つける

```text
agent> このモノレポでは認証はどこで行われていますか?

graph::query("authentication flow")
  packages/web/src/auth/session.ts:42       ミドルウェア
  packages/api/src/auth/jwt.ts:88           トークン検証
  packages/shared/src/auth/types.ts:12      AuthContext
  packages/admin/src/auth/admin-only.ts:31  RBACチェック

→ 4つのパッケージにまたがる4つのエントリーポイント、呼び出し箇所の密度でランク付け。
[exit 0]
```

ファイルに言及しませんでした。スニペットも貼り付けませんでした。エージェントは、重要な4つのファイルを正しいランキングで手にし、根拠のある編集ができます。

### 02. テストスタブではなく、実際の実装を見つける

```text
agent> normalizePhoneNumberはE.164をどのように処理していますか?

semantic::query("normalize phone E.164")
  packages/shared/util/phone.ts:88     normalizePhoneNumber()  ← 実装本体
  packages/api/test/phone.spec.ts:14   jest.mock(...)          ← スタブ
[exit 0]
```

名前は嘘をつきます。モックは実際のコードを覆い隠します。Maguyvaは、すべてのパッケージにわたって、実際の実装をテストモックより上位にランク付けします。

### 03. エージェントがリファクタリングする前に、影響範囲を確認する

```text
agent> モノレポ全体でQueueDispatcher.publishを呼び出しているのはどこですか?

graph::callers(QueueDispatcher.publish)
  packages/billing/* に3件
  packages/audit/* に1件
  packages/notifications/* に1件
  services/python-worker/* に1件  ← gRPCスタブ経由で言語を横断
[exit 0]
```

パッケージ横断、そしてポリグロットなリポジトリでは言語横断でも、呼び出し箇所がインラインで表示されます。自律的なエージェントは、CIが赤くなった後ではなく、編集する前に影響範囲を手にします。

## Antigravityでのセットアップ

3ステップ。Freeプラン: リポジトリ3個, インデックス済みリポジトリ行数、最大5万行、カード不要。

### 01. maguyva.aiでリポジトリをインデックス化

コンテキスト不足に最も悩んでいるモノレポを選びましょう。

### 02. AntigravityのMCPサーバーにMaguyvaを追加

`~/.gemini/config/mcp_config.json`

```json
{
  "mcpServers": {
    "maguyva": {
      "serverUrl": "https://maguyva.tools/mcp",
      "headers": {
        "Authorization": "Bearer mgv_xxxx"
      }
    }
  }
}
```

### 03. 答えをすでに知っている質問をひとつ投げてみる

エージェントを会社全体に向けないでください。1つのリポジトリと、「パッケージ横断で`formatInvoice`を呼び出しているのは何か?」のような、検証可能な質問1つから始めましょう。

## すでに知っているリポジトリを1つインデックス化。

検証できる質問を1つ、試してみましょう。
