本文へスキップ

Antigravityユーザー向け

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

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

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

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

各レイヤーの役割

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

// エージェントIDE

Antigravity

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

// 手動のコンテキスト

@メンション + ルール

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

// コードベース

Maguyva

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

// 支払うのは誰か

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

エージェントはシート料金を払いません。料金を見る

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

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

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

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

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

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

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

// the fix

// ファイルに言及する

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

// where it breaks

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

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

// the fix

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

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

// where it breaks

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

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

// the fix

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

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

// where it breaks

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

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

// the fix

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

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

// where it breaks

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

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

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

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

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

Antigravityが、何を編集するかを決める。

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

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

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

// workflow 01

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

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

graph::query("authentication flow")
  packages/web/src/auth/session.ts:42       middleware
  packages/api/src/auth/jwt.ts:88           token verify
  packages/shared/src/auth/types.ts:12      AuthContext
  packages/admin/src/auth/admin-only.ts:31  rbac gate

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

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

// workflow 02

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

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

semantic::query("normalize phone E.164")
  packages/shared/util/phone.ts:88     normalizePhoneNumber()  ← real impl
  packages/api/test/phone.spec.ts:14   jest.mock(...)          ← stub
[exit 0]

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

// workflow 03

エージェントがリファクタリングする前に、ブラストラディウスを確認する

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

graph::callers(QueueDispatcher.publish)
  3 in packages/billing/*
  1 in packages/audit/*
  1 in packages/notifications/*
  1 in services/python-worker/*  ← cross-language via gRPC stub
[exit 0]

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

Antigravityでのセットアップ

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

  1. // step 01

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

    最もコンテキストの痛みを感じているモノレポを選びましょう。

  2. // step 02

    AntigravityのMCPサーバーにMaguyvaを追加

    // ~/.gemini/antigravity/mcp_config.json
    {
      "mcpServers": {
        "maguyva": {
          "serverUrl": "https://maguyva.tools/mcp",
          "headers": {
            "Authorization": "Bearer <your-key>"
          }
        }
      }
    }
  3. // step 03

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

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