Przejdź do treści

Dla użytkowników Gemini CLI

GEMINI.md mówi Gemini twoje reguły.
Nie twój kod.

GEMINI.md ustala kontekst roboczy. MCP pozwala Gemini sięgać po narzędzia. Maguyva to serwer MCP, który daje Gemini przeszukiwalną mapę twojego repo, więc pierwsza edycja nie jest zgadywaniem struktury plików.

Plan Free: 3 repozytoria, Do 50 tys. zindeksowanych linii repo, bez karty.

GEMINI.md to kontekst. MCP to kanał. Maguyva to mapa.

Warstwowy stos

Cztery idee. Każda robi jedno zadanie.

// kontekst

GEMINI.md

Jak Gemini powinien się zachowywać w tym repo.

// transport

MCP

Jak Gemini sięga po zewnętrzne narzędzia i kontekst.

// baza kodu

Maguyva

Serwer MCP, który zwraca ugruntowane fakty o repo.

// kto płaci

Workspace'y, nie stanowiska

Agenci nie płacą za stanowiska. Zobacz cennik

GEMINI.md to kontekst roboczy. Korzystaj z niego.

Trwałe instrukcje należą do GEMINI.md. To dobre miejsce na:

  • Komendy budowania, testów i lintowania, które powinien uruchamiać Gemini.
  • Zabezpieczenia typu “zawsze rób X / nigdy nie rób Y” ograniczone do katalogu.
  • Konwencje nazewnictwa i preferencje refaktoryzacji.
  • Odnośniki do kanonicznych logów decyzji i notatek architektonicznych.

Trzymaj to zwięźle. Ogranicz zakres. Commituj.

Ale GEMINI.md nigdy nie miał być przeszukiwalnym indeksem każdego symbolu, pliku i miejsca wywołania w twoim repo.

Gdzie sam GEMINI.md się wyczerpuje

Cztery tryby awarii, po jednym na kartę.

// kontekst to nie indeks

Powiedzenie Gemini jak pracować nie mówi mu, co istnieje. Pierwsza edycja w nieznanym pakiecie to zgadywanie ścieżek plików i nazw funkcji. GEMINI.md nie może wymienić każdego symbolu i wcale byś tego nie chciał.

// dokument odbiega od kodu

Blok GEMINI.md opisujący topologię twojej kolejki jest poprawny, dopóki ktoś nie wprowadzi nowego konsumenta. Kod jest teraz źródłem prawdy, a dokument jest pewny siebie i nieaktualny. Gemini czyta ten zły.

// zmiana nazwy to problem grafowy

„Co odwołuje się do tej klasy?” nie da się odpowiedzieć na podstawie pliku markdown. Gemini albo grep-uje i się modli po całym monorepo, albo prosi cię o wklejenie miejsc wywołań do czatu.

// okna kontekstu nie są darmowe

Duże okno to nie to samo co przeszukiwalny indeks. Ładowanie GEMINI.md, aż Gemini „wie wystarczająco dużo”, i tak zamienia budżet na wnioskowanie na objętość statycznego kontekstu.

Jak te trzy warstwy się łączą

Użytkownicy Gemini już myślą w tym kształcie. Strona powinna to uwidocznić.

GEMINI.md

kontekst

jak zachowuje się Gemini

MCP

kanał

jak sięga

Maguyva

fakty o kodzie

co widzi

  • GEMINI.md jak Gemini zachowuje się w tym repo.
  • MCP jak Gemini sięga po narzędzia i kontekst. (specyfikacja)
  • Maguyva co widzi Gemini, gdy zadaje bazie kodu pytanie. Wyszukiwanie semantyczne, AST, grafowe i tekstowe zwracane ze ścieżkami plików i numerami linii.

GEMINI.md mówi Gemini jak pracować.

Maguyva daje Gemini coś, od czego może zacząć.

Trzy przepływy pracy

Specyficzne dla Gemini. Ugruntowane na rzeczywistym grafie wywołań, a nie na grep Gemini.

// workflow 01

Zmień nazwę współdzielonej klasy, najpierw znajdź wszystkie zależne

gemini> zmień nazwę PaymentClient → BillingClient

graph::callers(PaymentClient)            12 odwołań w 7 pakietach
graph::importers(src/payments/client.ts)  9 importerów
graph::extends(PaymentClient)             2 podklasy (RetryClient, MockClient)

 Gemini proponuje migrację z 21 edycjami wraz z listą plików od razu.
[exit 0]

Gemini pyta Maguyva o zależności zanim zacznie edytować. Lista migracji wraca ugruntowana w rzeczywistym grafie, a nie w pamięci Gemini.

// workflow 02

Znajdź prawdziwą implementację, nie atrapę testową

gemini> jak normalizePhoneNumber obsługuje E.164?

semantic::query("normalize phone E.164")
  src/util/phone.ts:88   normalizePhoneNumber()   ← prawdziwa impl.
  test/util/phone.spec.ts:14  jest.mock(...)      ← atrapa
[exit 0]

Nazwy kłamią. Atrapy przesłaniają prawdziwy kod. Maguyva stawia prawdziwą implementację wyżej niż atrapę testową.

// workflow 03

Sprawdź promień rażenia przed refaktoryzacją

gemini> co wywołuje QueueDispatcher.publish?

graph::callers(QueueDispatcher.publish)
  3 w src/billing/*    1 w src/audit/*    1 w src/notifications/*
[exit 0]

Miejsca wywołań między pakietami pojawiają się od razu. Diff jest ugruntowany na rzeczywistych importerach, a nie na grep Gemini.

Konfiguracja w Gemini CLI

Trzy kroki. Plan Free: 3 repozytoria, Do 50 tys. zindeksowanych linii repo, bez karty.

  1. // step 01

    Zaindeksuj repo na maguyva.ai

    Wybierz repo, które dobrze znasz, żeby móc zweryfikować odpowiedzi.

  2. // step 02

    Dodaj Maguyva jako serwer MCP w ustawieniach Gemini CLI

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

    Zadaj jedno pytanie, na które już znasz odpowiedź

    Nie zaczynaj od całej firmy. Zacznij od jednego repo i jednego sprawdzalnego pytania.