// context
GEMINI.md
Hoe Gemini zich op deze repo moet gedragen.
Voor Gemini CLI-gebruikers
GEMINI.md legt de werkcontext vast. MCP laat Gemini naar tools reiken. Maguyva is de MCP-server die Gemini een doorzoekbare kaart van je repo geeft, zodat de eerste wijziging geen gok naar de bestandsstructuur is.
Free tier: 3 repositories, Tot 50K geïndexeerde repo-regels, geen kaart nodig.
GEMINI.md is de context. MCP is het kanaal. Maguyva is de kaart.Vier ideeën. Elk met precies één taak.
// context
Hoe Gemini zich op deze repo moet gedragen.
// transport
Hoe Gemini naar externe tools en context reikt.
// codebase
De MCP-server die gefundeerde repofeiten teruggeeft.
// wie betaalt
Agents betalen geen seats. Bekijk de prijzen
Blijvende instructies horen thuis in GEMINI.md. Dat is de juiste plek voor:
Houd het beknopt. Bepaal de scope. Commit het.
Maar GEMINI.md was nooit bedoeld als doorzoekbare index van elk symbool, bestand en call site in je repo.
Vier faalmodi, één per kaart.
Gemini vertellen hoe het moet werken vertelt het niet wat er bestaat. De eerste wijziging in een onbekend package is een gok naar bestandspaden en functienamen. GEMINI.md kan niet elk symbool opsommen, en dat zou je ook niet willen.
Een GEMINI.md-blok dat je queue-topologie beschrijft, klopt tot iemand een nieuwe consumer introduceert. De code is nu de source of truth, en de doc is zelfverzekerd verouderd. Gemini leest de verkeerde.
“Wat verwijst naar deze class?” is niet te beantwoorden vanuit een markdown-bestand. Gemini grept-en-hoopt door de hele monorepo, of vraagt je om call sites in de chat te plakken.
Een groot venster is niet hetzelfde als een doorzoekbare index. GEMINI.md volladen tot Gemini “genoeg weet” ruilt nog steeds redeneerbudget in voor statisch contextvolume.
Gemini-gebruikers denken al in deze vorm. Deze pagina zou dat gewoon duidelijk moeten maken.
GEMINI.md
context
hoe Gemini zich gedraagt
MCP
het kanaal
hoe het reikt
Maguyva
codebasefeiten
wat het ziet
GEMINI.md vertelt Gemini hoe het moet werken.
Maguyva geeft Gemini iets om vanuit te werken.
Gemini-specifiek. Gefundeerd op de daadwerkelijke call graph, niet op de grep van Gemini.
// workflow 01
gemini> rename PaymentClient → BillingClient graph::callers(PaymentClient) 12 referenties in 7 packages graph::importers(src/payments/client.ts) 9 importers graph::extends(PaymentClient) 2 subclasses (RetryClient, MockClient) → Gemini stelt een migratie met 21 wijzigingen voor, met de bestandslijst inline. [exit 0]
Gemini vraagt Maguyva om afhankelijken voordat het begint te bewerken. De migratielijst komt terug, gefundeerd op de daadwerkelijke graph, niet op het geheugen van Gemini.
// workflow 02
gemini> hoe verwerkt normalizePhoneNumber E.164? semantic::query("normalize phone E.164") src/util/phone.ts:88 normalizePhoneNumber() ← echte impl test/util/phone.spec.ts:14 jest.mock(...) ← stub [exit 0]
Namen liegen. Mocks overschaduwen echte code. Maguyva rangschikt de echte implementatie boven de test-mock.
// workflow 03
gemini> wat roept QueueDispatcher.publish aan? graph::callers(QueueDispatcher.publish) 3 in src/billing/* 1 in src/audit/* 1 in src/notifications/* [exit 0]
Cross-package call-sites komen inline naar boven. De diff is gefundeerd op echte importers, niet op de grep van Gemini.
Drie stappen. Free tier: 3 repositories, Tot 50K geïndexeerde repo-regels, geen kaart nodig.
// step 01
Kies er een die je goed kent, zodat je de antwoorden kunt verifiëren.
// step 02
// ~/.gemini/settings.json
{
"mcpServers": {
"maguyva": {
"httpUrl": "https://maguyva.tools/mcp",
"headers": {
"Authorization": "Bearer <your-key>"
}
}
}
}// step 03
Begin niet met je hele bedrijf. Begin met één repo en één verifieerbare vraag.