Hopp til innhold

For Gemini CLI-brukere

GEMINI.md forteller Gemini reglene dine.
Ikke koden din.

GEMINI.md setter arbeidskonteksten. MCP lar Gemini strekke seg etter verktøy. Maguyva er MCP-serveren som gir Gemini et søkbart kart over repoet ditt, slik at den første endringen ikke er en gjetning om filstrukturen.

Free tier: 3 repoer, Opptil 50K indekserte kodelinjer, uten kort.

GEMINI.md er konteksten. MCP er kanalen. Maguyva er kartet.

Den lagdelte stacken

Fire ideer. Hver gjør én jobb.

// kontekst

GEMINI.md

Hvordan Gemini skal oppføre seg på dette repoet.

// transport

MCP

Hvordan Gemini strekker seg etter eksterne verktøy og kontekst.

// kodebase

Maguyva

MCP-serveren som gir forankrede repo-fakta.

// hvem betaler

Arbeidsområder, ikke seter

Agenter betaler ikke seter. Se priser

GEMINI.md er en arbeidskontekst. Bruk den.

Vedvarende instruksjoner hører hjemme i GEMINI.md. Det er riktig sted for:

  • Bygge-, test- og lint-kommandoer Gemini skal kjøre.
  • “Gjør alltid X / aldri Y”-regler avgrenset til en mappe.
  • Navnekonvensjoner og refaktoreringspreferanser.
  • Henvisninger til de kanoniske beslutningsloggene og arkitekturnotatene.

Hold det kortfattet. Avgrens det. Commit det.

Men GEMINI.md ble aldri designet til å være en søkbar indeks over hvert symbol, hver fil og hvert kallsted i repoet ditt.

Hvor GEMINI.md alene går tom

Fire feilmoduser, én per kort.

// kontekst er ikke en indeks

Å fortelle Gemini hvordan den skal jobbe, forteller den ikke hva som finnes. Den første endringen i en ukjent pakke er en gjetning om filbaner og funksjonsnavn. GEMINI.md kan ikke liste opp hvert symbol, og det ville du heller ikke ønsket.

// dokumentet drifter fra koden

En GEMINI.md-blokk som beskriver kø-topologien din, stemmer helt til noen introduserer en ny konsument. Koden er nå sannheten, og dokumentet er selvsikkert foreldet. Gemini leser feil kilde.

// omdøping er et grafproblem

«Hva refererer til denne klassen?» kan ikke besvares fra en markdown-fil. Gemini må enten grep-og-håpe på tvers av monorepoet eller be deg lime inn kallsteder i chatten.

// kontekstvinduer er ikke gratis

Et stort vindu er ikke det samme som en søkbar indeks. Å laste GEMINI.md til Gemini «vet nok» bytter fortsatt bort resonneringsbudsjett mot statisk kontekstvolum.

Hvordan de tre lagene henger sammen

Gemini-brukere tenker allerede i denne formen. Siden bør gjøre det åpenbart.

GEMINI.md

kontekst

hvordan Gemini oppfører seg

MCP

kanalen

hvordan den strekker seg

Maguyva

kodebasefakta

hva den ser

  • GEMINI.md hvordan Gemini oppfører seg på dette repoet.
  • MCP hvordan Gemini strekker seg etter verktøy og kontekst. (spesifikasjon)
  • Maguyva hva Gemini ser når den stiller kodebasen et spørsmål. Semantisk søk, AST-søk, grafsøk og tekstsøk levert med filbaner og linjenumre.

GEMINI.md forteller Gemini hvordan den skal jobbe.

Maguyva gir Gemini noe å jobbe ut fra.

Tre arbeidsflyter

Gemini-spesifikke. Forankret i den faktiske kallgrafen, ikke Geminis grep.

// workflow 01

Omdøp en delt klasse, finn alle avhengige først

gemini> omdøp PaymentClient → BillingClient

graph::callers(PaymentClient)            12 referanser fordelt på 7 pakker
graph::importers(src/payments/client.ts)  9 importører
graph::extends(PaymentClient)             2 underklasser (RetryClient, MockClient)

 Gemini foreslår en migrering med 21 endringer og fillisten direkte i svaret.
[exit 0]

Gemini spør Maguyva om avhengige før den begynner å redigere. Migreringslisten kommer tilbake forankret i den faktiske grafen, ikke Geminis hukommelse.

// workflow 02

Finn den faktiske implementasjonen, ikke test-stubben

gemini> hvordan håndterer normalizePhoneNumber E.164?

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

Navn lyver. Mocks skygger for ekte kode. Maguyva rangerer den ekte implementasjonen over test-mocken.

// workflow 03

Sjekk påvirkningsradiusen før en refaktorering

gemini> hva kaller QueueDispatcher.publish?

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

Kallsteder på tvers av pakker dukker opp direkte. Diffen er forankret i faktiske importører, ikke Geminis grep.

Oppsett i Gemini CLI

Tre steg. Free tier: 3 repoer, Opptil 50K indekserte kodelinjer, uten kort.

  1. // step 01

    Indekser et repo på maguyva.ai

    Velg ett du kjenner godt, slik at du kan verifisere svarene.

  2. // step 02

    Legg til Maguyva som en MCP-server i Gemini CLI-innstillingene dine

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

    Still ett spørsmål du allerede vet svaret på

    Ikke start med hele selskapet ditt. Start med ett repo og ett verifiserbart spørsmål.