본문으로 건너뛰기

Antigravity 사용자를 위해

Antigravity는 에이전트를 실행합니다.
Maguyva는 그들에게 지도를 제공합니다.

Antigravity는 에이전트 우선 IDE입니다: 에이전트가 에디터, 터미널, 브라우저 전반에서 계획하고 편집합니다. 실제 모노레포에서는 이들에게도 여전히 어떤 파일이 중요한지 알려주는 지도가 필요합니다. Maguyva는 코드베이스를 인덱싱해 MCP(시맨틱, AST, 그래프, 텍스트)로 되돌려주므로, "인증이 어디서 일어나는가"라는 질문에 테스트 스텁 일곱 개가 아니라 실제 인증 흐름이 돌아옵니다.

Free 등급: 리포지토리 3개, 인덱싱된 리포지토리 라인 최대 5만 줄, 카드 등록 불필요.

Antigravity는 에이전트를 실행합니다. Maguyva는 어떤 파일을 건드려야 할지 알려줍니다.

각 레이어가 하는 일

네 가지 조각. 각각 맡은 역할이 있습니다.

// 에이전트 IDE

Antigravity

에이전트가 계획하고, 편집하고, 검증하는 곳입니다.

// 수동 컨텍스트

@ 멘션 + 규칙

리포지토리가 커지기 전까지는 수동 컨텍스트가 통합니다.

// 코드베이스

Maguyva

MCP를 통한 자동 코드베이스 사실 제공.

// 누가 비용을 내는가

좌석이 아니라 워크스페이스

에이전트는 좌석 비용을 내지 않습니다. 요금제 보기

Antigravity는 에이전트를 실행합니다. 그대로 맡기세요.

에이전트 IDE 자체가 문제는 아닙니다. Agent Manager, 다중 표면 실행, 규칙 파일은 훌륭하며, 여러분은 이미 다음과 같은 용도로 사용하고 있을 것입니다:

  • 에디터, 터미널, 브라우저 전반에서 에이전트를 계획하고 실행하기.
  • 변경 사항이 로컬에 국한될 때의 다중 파일 편집.
  • 리포지토리 관례와 스타일 가드레일을 위한 에이전트 규칙.
  • 특정 파일을 컨텍스트로 끌어오기 위한 @ 멘션.

계속 그렇게 하세요. 그 어느 것도 사라지지 않습니다.

하지만 실제 모노레포(워크스페이스 의존성이 있는 TypeScript, Python 서비스, 혼합 패키지)에서는 관련 파일이 아직 에이전트의 레이더에 없는 순간 에이전트 컨텍스트가 깨집니다.

이미 시도해본 수동 해결책, 그리고 그것이 깨지는 지점

네 가지 수동 해결책과 각각의 실패 양상. 왼쪽 = 오늘 하고 있는 일. 오른쪽 = 깨지는 지점.

// the fix

// 파일 멘션하기

중요하다고 생각하는 파일 세 개를 @로 멘션합니다. 에이전트는 그 안에서 깔끔하게 편집합니다.

// where it breaks

// 멘션은 추측입니다

어떤 파일이 관련되어 있는지 이미 알고 있을 때만 통합니다. 자율 에이전트에게는 멘션할 줄 몰랐던 파일이 필요합니다.

// the fix

// 코드 조각 붙여넣기

에이전트에게 충분한 컨텍스트를 주려고 다른 패키지에서 200줄을 붙여넣습니다.

// where it breaks

// 붙여넣은 코드는 낡아버립니다

오전 9시에 붙여넣은 코드 조각은 팀원이 오전 11시에 반영한 리베이스를 반영하지 않습니다. 에이전트는 패키지의 유령 버전을 대상으로 편집하고 있는 셈입니다.

// the fix

// 컨텍스트 문서 작성하기

에이전트 규칙 파일이나 아키텍처 마크다운을 작성합니다. 오늘은 맞습니다.

// where it breaks

// 문서는 코드보다 빠르게 낡습니다

손으로 작성한 것은 무엇이든 낡습니다. 코드가 진실의 원천입니다. 큐 레이어를 설명하는 문서는 일주일간은 맞다가, 그 뒤로는 영원히 틀리게 됩니다.

// the fix

// 규칙 파일 유지하기

네이밍, 린트, 빌드 명령어를 위해 에이전트 규칙을 추가합니다. 행동 방식에는 훌륭합니다.

// where it breaks

// 규칙 ≠ 인덱스

규칙은 “커밋 전에 항상 pnpm tsc -b를 실행하라” 같은 규칙에 적합한 곳입니다. 모노레포의 모든 심볼, 파일, 호출 지점을 담은 조회 가능한 인덱스는 아닙니다.

Maguyva는 그 아래에 있는 레이어입니다

Antigravity를 대체하지 않습니다. Antigravity의 MCP 지원에 연결되는 리포지토리 컨텍스트 레이어입니다.

  • 시맨틱 + AST + 그래프 + 텍스트 의미, 구조, 의존성, 또는 리터럴로 검색합니다. 모든 결과는 파일 경로와 줄 번호를 반환합니다.
  • 기본적으로 패키지 전반을 아우름 에이전트가 열어둔 패키지뿐 아니라 모노레포 내 모든 패키지의 호출 지점과 임포터를 아우릅니다.
  • 브랜치 인식 Maguyva는 에이전트가 편집 중인 코드 버전을 인식합니다.
  • 자율성을 위해 설계됨 많은 편집을 계획하는 에이전트에게는 CI가 실패한 뒤가 아니라 미리 영향 범위가 필요합니다.

Antigravity는 무엇을 편집할지 결정합니다.

Maguyva는 에이전트에게 그 편집이 무엇에 영향을 미치는지 알려줍니다.

세 가지 모노레포 워크플로

패키지와 언어를 넘나듭니다. 에이전트의 grep이 아니라 실제 호출 그래프에 근거합니다.

// workflow 01

아무것도 멘션하지 않고 패키지 전반의 인증 흐름 찾기

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]

파일을 멘션하지도, 코드 조각을 붙여넣지도 않았습니다. 에이전트는 중요한 네 개의 파일을 올바른 순위로 확보했고, 근거 있는 편집을 할 수 있습니다.

// workflow 02

테스트 스텁이 아니라 실제 구현 찾기

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]

이름은 거짓말을 합니다. 목(mock)은 실제 코드를 가립니다. 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/*  ← gRPC 스텁을 통한 교차 언어 호출
[exit 0]

패키지를 넘나들고, 여러 언어를 쓰는 리포지토리라면 언어까지 넘나들며, 호출 지점이 인라인으로 드러납니다. 자율 에이전트는 CI가 실패한 뒤가 아니라 편집 전에 영향 범위를 파악합니다.

Antigravity에서 설정하기

세 단계로 끝. Free 등급: 리포지토리 3개, 인덱싱된 리포지토리 라인 최대 5만 줄, 카드 등록 불필요.

  1. // step 01

    maguyva.ai에서 리포지토리 인덱싱하기

    컨텍스트 문제를 가장 많이 겪은 모노레포를 선택하세요.

  2. // step 02

    Antigravity에서 Maguyva를 MCP 서버로 추가하기

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

    이미 답을 알고 있는 질문 하나 해보기

    에이전트를 회사 전체에 겨냥하지 마세요. 리포지토리 하나와 검증 가능한 질문 하나로 시작하세요. 예를 들어 "패키지 전반에서 formatInvoice를 호출하는 곳은 어디인가요?" 같은 질문입니다.