Naar inhoud springen

Voor Gemini CLI-gebruikers

GEMINI.md vertelt Gemini je regels.
Niet je code.

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.

De gelaagde stack

Vier ideeën. Elk met precies één taak.

// context

GEMINI.md

Hoe Gemini zich op deze repo moet gedragen.

// transport

MCP

Hoe Gemini naar externe tools en context reikt.

// codebase

Maguyva

De MCP-server die gefundeerde repofeiten teruggeeft.

GEMINI.md is een werkcontext. Gebruik het.

Blijvende instructies horen thuis in GEMINI.md. Dat is de juiste plek voor:

  • Build-, test- en lintcommando's die Gemini moet draaien.
  • “Doe altijd X / doe nooit Y”-regels, afgebakend per directory.
  • Naamgevingsconventies en refactorvoorkeuren.
  • Verwijzingen naar de canonieke decision logs en architectuurnotities.

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.

Waar GEMINI.md alleen tekortschiet

Vier faalmodi, één per kaart.

// context is geen index

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.

// de doc raakt los van de code

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.

// hernoemen is een graafprobleem

“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.

// contextvensters zijn niet gratis

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.

Hoe de drie lagen samenkomen

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 hoe Gemini zich op deze repo gedraagt.
  • MCP hoe Gemini naar tools en context reikt. (spec)
  • Maguyva wat Gemini ziet als het de codebase een vraag stelt. Semantic, AST, graph en text search, teruggegeven met bestandspaden en regelnummers.

GEMINI.md vertelt Gemini hoe het moet werken.

Maguyva geeft Gemini iets om vanuit te werken.

Drie workflows

Gemini-specifiek. Gefundeerd op de daadwerkelijke call graph, niet op de grep van Gemini.

// workflow 01

Hernoem een gedeelde class, vind eerst elke afhankelijke

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

Vind de echte implementatie, niet de test-stub

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

Check de impactradius voor een refactor

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.

Setup in Gemini CLI

Drie stappen. Free tier: 3 repositories, Tot 50K geïndexeerde repo-regels, geen kaart nodig.

  1. // step 01

    Indexeer een repo op maguyva.ai

    Kies er een die je goed kent, zodat je de antwoorden kunt verifiëren.

  2. // step 02

    Voeg Maguyva toe als MCP-server in je Gemini CLI-instellingen

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

    Stel één vraag waarvan je het antwoord al weet

    Begin niet met je hele bedrijf. Begin met één repo en één verifieerbare vraag.