// kontekst
GEMINI.md
Hvordan Gemini skal oppføre seg på dette repoet.
For Gemini CLI-brukere
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.Fire ideer. Hver gjør én jobb.
// kontekst
Hvordan Gemini skal oppføre seg på dette repoet.
// transport
Hvordan Gemini strekker seg etter eksterne verktøy og kontekst.
// kodebase
MCP-serveren som gir forankrede repo-fakta.
// hvem betaler
Agenter betaler ikke seter. Se priser
Vedvarende instruksjoner hører hjemme i GEMINI.md. Det er riktig sted for:
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.
Fire feilmoduser, én per kort.
Å 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.
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.
«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.
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.
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 forteller Gemini hvordan den skal jobbe.
Maguyva gir Gemini noe å jobbe ut fra.
Gemini-spesifikke. Forankret i den faktiske kallgrafen, ikke Geminis grep.
// workflow 01
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
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
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.
Tre steg. Free tier: 3 repoer, Opptil 50K indekserte kodelinjer, uten kort.
// step 01
Velg ett du kjenner godt, slik at du kan verifisere svarene.
// step 02
// ~/.gemini/settings.json
{
"mcpServers": {
"maguyva": {
"httpUrl": "https://maguyva.tools/mcp",
"headers": {
"Authorization": "Bearer <your-key>"
}
}
}
}// step 03
Ikke start med hele selskapet ditt. Start med ett repo og ett verifiserbart spørsmål.