Hoppa till innehåll

För Gemini CLI-användare

GEMINI.md talar om dina regler för Gemini.
Inte din kod.

GEMINI.md sätter arbetskontexten. MCP låter Gemini nå ut efter verktyg. Maguyva är MCP-servern som ger Gemini en sökbar karta över ditt repo, så att den första ändringen inte blir en gissning om filstrukturen.

Free-nivå: 3 repositorier, Upp till 50K indexerade repo-rader, inget kort.

GEMINI.md är kontexten. MCP är kanalen. Maguyva är kartan.

Stacken, lager för lager

Fyra idéer. Var och en gör sitt jobb.

// kontext

GEMINI.md

Hur Gemini ska uppträda i det här repot.

// transport

MCP

Hur Gemini når externa verktyg och kontext.

// kodbas

Maguyva

MCP-servern som returnerar förankrade fakta om repot.

// vem betalar

Arbetsytor, inte platser

Agenter betalar inte för platser. Se priser

GEMINI.md är en arbetskontext. Använd den.

Beständiga instruktioner hör hemma i GEMINI.md. Det är rätt plats för:

  • Bygg-, test- och lintkommandon som Gemini ska köra.
  • “Gör alltid X / gör aldrig Y”-regler avgränsade till en katalog.
  • Namngivningskonventioner och preferenser för refaktorering.
  • Hänvisningar till de kanoniska beslutsloggarna och arkitekturanteckningarna.

Håll det kortfattat. Avgränsa det. Committa det.

Men GEMINI.md var aldrig tänkt att vara ett sökbart index över varje symbol, fil och anropsplats i ditt repo.

Var GEMINI.md ensamt tar slut

Fyra sätt det brister på, ett per kort.

// kontext är inget index

Att tala om för Gemini hur den ska arbeta talar inte om vad som finns. Den första ändringen i ett okänt paket blir en gissning om filsökvägar och funktionsnamn. GEMINI.md kan inte lista varje symbol, och det vill du inte heller att den ska.

// dokumentationen glider bort från koden

Ett GEMINI.md-block som beskriver din kötopologi stämmer tills någon inför en ny konsument. Koden är nu sanningen och dokumentationen är övertygande föråldrad. Gemini läser fel version.

// namnbyte är ett grafproblem

”Vad refererar till den här klassen?” går inte att besvara från en markdown-fil. Gemini tvingas antingen grep:a och hoppas i hela monorepot eller be dig klistra in anropsplatser i chatten.

// kontextfönster är inte gratis

Ett stort fönster är inte samma sak som ett sökbart index. Att fylla GEMINI.md tills Gemini ”kan tillräckligt” byter ändå bort resonemangsbudget mot statisk kontextvolym.

Så passar de tre lagren ihop

Gemini-användare tänker redan i den här formen. Sidan bör göra det uppenbart.

GEMINI.md

kontext

hur Gemini uppträder

MCP

kanalen

hur den når ut

Maguyva

kodbasfakta

vad den ser

  • GEMINI.md hur Gemini uppträder i det här repot.
  • MCP hur Gemini når verktyg och kontext. (spec)
  • Maguyva vad Gemini ser när den ställer en fråga till kodbasen. Semantisk, AST-baserad, graf- och textsökning som returneras med filsökvägar och radnummer.

GEMINI.md talar om hur Gemini ska arbeta.

Maguyva ger Gemini något att utgå från.

Tre arbetsflöden

Specifikt för Gemini. Förankrat i den faktiska anropsgrafen, inte grep i Gemini.

// workflow 01

Döp om en delad klass, hitta alla beroenden först

gemini> döp om PaymentClient → BillingClient

graph::callers(PaymentClient)            12 referenser i 7 paket
graph::importers(src/payments/client.ts)  9 importerare
graph::extends(PaymentClient)             2 subklasser (RetryClient, MockClient)

 Gemini föreslår en migrering med 21 ändringar, med fillistan direkt i svaret.
[exit 0]

Gemini frågar Maguyva om beroenden innan den börjar redigera. Migreringslistan kommer tillbaka förankrad i den faktiska grafen, inte i vad Gemini minns.

// workflow 02

Hitta den verkliga implementationen, inte teststubben

gemini> hur hanterar normalizePhoneNumber E.164?

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

Namn ljuger. Mockar skuggar verklig kod. Maguyva rankar den verkliga implementationen över testmocken.

// workflow 03

Kontrollera påverkansradien innan en refaktorering

gemini> vad anropar QueueDispatcher.publish?

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

Paketöverskridande anropsplatser dyker upp direkt i flödet. Diffen är förankrad i verkliga importerare, inte grep i Gemini.

Installation i Gemini CLI

Tre steg. Free-nivå: 3 repositorier, Upp till 50K indexerade repo-rader, inget kort.

  1. // step 01

    Indexera ett repo på maguyva.ai

    Välj ett du känner väl, så att du kan verifiera svaren.

  2. // step 02

    Lägg till Maguyva som en MCP-server i inställningarna för Gemini CLI

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

    Ställ en fråga vars svar du redan känner till

    Börja inte med hela ditt företag. Börja med ett repo och en verifierbar fråga.