GEMINI.md
GEMINI.md (contextbestand voor Gemini CLI)
Simpele Uitleg
GEMINI.md is een Markdown-bestand waarmee je de Gemini CLI van Google persistente projectcontext en regels meegeeft: codeerrichtlijnen, een persona of instructies die de agent bij elke prompt meekrijgt. Het is Google’s tegenhanger van CLAUDE.md en het universele AGENTS.md, en de inhoud wordt volgens de officiële docs hiërarchisch geladen en bij elk verzoek aan het model meegestuurd.
Technische Definitie
GEMINI.md is het standaard contextbestand (default filename GEMINI.md) van de Gemini CLI. De CLI laadt deze bestanden hiërarchisch uit meerdere locaties, voegt de inhoud van alle gevonden bestanden samen (concatenatie) en stuurt dat bij elke prompt naar het model. De hiërarchie bestaat uit drie niveaus: globaal (~/.gemini/GEMINI.md in je home-map, geldt voor al je projecten), workspace/projectniveau (GEMINI.md in je geconfigureerde workspace-mappen en hun bovenliggende mappen) en just-in-time subdirectory-niveau (wanneer een tool een bestand of map opent, scant de CLI automatisch naar GEMINI.md in die map en de bovenliggende mappen tot een trusted root). Beheer gebeurt via het /memory-commando. Je kunt grote bestanden opsplitsen met de @file.md import-syntax (relatieve en absolute paden) en de bestandsnaam aanpassen via de context.fileName-instelling in settings.json.
Waarom Dit Belangrijk Is
Zonder een contextbestand moet je bij elke nieuwe sessie opnieuw uitleggen hoe je codebase in elkaar zit, welke conventies gelden en wie de agent moet zijn. Dat kost tokens en leidt tot inconsistente antwoorden. GEMINI.md legt die instructies één keer vast, zodat de Gemini CLI ze automatisch bij elk verzoek meekrijgt. De hiërarchische opzet betekent dat je persoonlijke voorkeuren één keer globaal vastlegt, projectregels per repository deelt met je team, en component-specifieke instructies dicht bij de betreffende code zet. Voor teams die al met CLAUDE.md of AGENTS.md werken is dit het Gemini-equivalent: dezelfde aanpak, andere agent. Via context.fileName kun je zelfs één gedeeld bestand (zoals AGENTS.md) over meerdere CLI-tools heen gebruiken.
Hoe Het Werkt
De Gemini CLI bouwt bij het starten van een sessie context op uit drie lagen. Eerst leest hij ~/.gemini/GEMINI.md voor je globale, projectoverstijgende voorkeuren. Daarna zoekt hij naar GEMINI.md in je geconfigureerde workspace-mappen en hun bovenliggende mappen voor projectspecifieke regels. Ten slotte scant hij just-in-time: zodra een tool een bestand of map aanraakt, kijkt de CLI of er in die map of een bovenliggende map (tot een trusted root) een GEMINI.md staat met component-specifieke instructies. Alle gevonden bestanden worden samengevoegd en bij elke prompt aan het model gestuurd. Met /memory show zie je de volledige samengevoegde context, met /memory refresh (ook /memory reload) forceer je een herscan nadat je een bestand hebt gewijzigd. Grote bestanden splits je op met @pad/naar/bestand.md.
Use Cases
Projectregels en codeerstijl vastleggen
Zet in een GEMINI.md in je project-root welke taal, frameworks en conventies gelden (bijv. “gebruik TypeScript, geen any, schrijf tests met Vitest”). De Gemini CLI past zich daar bij elke prompt op aan, zodat je niet telkens hoeft te herhalen hoe de code eruit moet zien.
Een persona of toon definieren
Geef de agent een rol mee, zoals “je bent een senior backend-engineer die kort en direct antwoordt”. Dat maakt antwoorden consistenter en gerichter dan een generieke chatbot.
Globale voorkeuren voor al je projecten
Plaats in ~/.gemini/GEMINI.md voorkeuren die altijd gelden, los van het project: je naam, je voorkeurstaal voor uitleg, of standaard veiligheidsregels. Die laag wordt voor elk project geladen.
Component-specifieke instructies per map
Een GEMINI.md in een submap (bijv. /api of /frontend) geeft instructies die alleen relevant zijn voor dat deel van de codebase. De CLI laadt die just-in-time wanneer een tool die map aanraakt.
Voorbeelden
Een GEMINI.md voor een Next.js-project
```markdown
# Projectcontext
Dit is een Next.js 16 App Router project met Tailwind en Supabase.
## Regels
- Gebruik server components tenzij client-interactie nodig is
- Geen wildcard-imports
- Schrijf Nederlandse UI-teksten
```
Elke developer die de Gemini CLI in deze repo opent, krijgt automatisch dezelfde context mee, zonder dit per sessie te hoeven uitleggen.
Context opsplitsen met imports
```markdown
# Hoofdcontext
@./docs/codeerstijl.md
@./docs/architectuur.md
```
Volgens de docs (juni 2026) werken zowel relatieve als absolute paden. Zo houd je losse onderdelen overzichtelijk en herbruikbaar.
Een gedeeld AGENTS.md gebruiken
```json
{
"context": {
"fileName": ["AGENTS.md", "CONTEXT.md", "GEMINI.md"]
}
}
```
De Gemini CLI laadt dan ook AGENTS.md, het universele formaat dat door meerdere AI-codeertools wordt gelezen.
Veelgemaakte Fouten
Denken dat GEMINI.md per sessie opnieuw moet worden ingeladen
Fout: bij elke prompt opnieuw je projectregels in de chat plakken.
Beter: zet ze één keer in GEMINI.md. De CLI voegt alle gevonden bestanden samen en stuurt ze automatisch bij elk verzoek mee.
Waarom: dat scheelt tokens en houdt antwoorden consistent. Heb je het bestand tijdens een sessie aangepast? Draai /memory refresh om de wijziging in te laden.
Alles in één globaal bestand proppen
Fout: projectspecifieke regels in ~/.gemini/GEMINI.md zetten.
Beter: gebruik de hiërarchie. Globale voorkeuren in ~/.gemini/GEMINI.md, projectregels in de root van het project, component-regels in submappen.
Waarom: globale regels gelden voor ál je projecten. Projectspecifieke instructies horen in de repository, zodat je team ze deelt en ze niet jouw andere projecten vervuilen.
Vage of tegenstrijdige instructies geven
Fout: “schrijf goede code” zonder verdere uitleg.
Beter: wees concreet: “gebruik TypeScript strict mode, geen any, functies max 40 regels, schrijf tests bij elke nieuwe functie”.
Waarom: hoe specifieker de regels, hoe consistenter de agent reageert. Vage instructies leiden tot wisselende resultaten.
GEMINI.md verwarren met de Gemini CLI zelf
Fout: denken dat GEMINI.md een programma of commando is.
Beter: GEMINI.md is alleen het contextbestand. De Gemini CLI is de tool die het bestand leest.
Waarom: net als bij CLAUDE.md (bestand) versus Claude Code (tool) gaat het om twee verschillende dingen. Het bestand geeft instructies, de CLI voert ze uit.
Tools Die Dit Gebruiken
Veelgestelde Vragen
Waar plaats ik mijn GEMINI.md-bestand?
Hoe geef ik de Gemini CLI projectcontext en regels mee?
Wat is het verschil tussen GEMINI.md en CLAUDE.md of AGENTS.md?
Hoe beheer ik de geladen context met /memory?
Kan ik de bestandsnaam GEMINI.md veranderen?
Worden GEMINI.md-bestanden uit verschillende mappen gecombineerd?
Gerelateerde Termen
Wil je deze term in de praktijk leren toepassen?