Geek Bites   Archief   

Gemini CLI: De kracht van Google AI vanuit je terminal

Iedere developer heeft wel eens gehoord van Gemini: Google's krachtige AI-model dat kan helpen bij het schrijven van code, beantwoorden van vragen en het oplossen van complexe problemen.

Gemini is een multimodaal AI-model van Google dat tekst, code, afbeeldingen en andere content kan begrijpen en genereren. Het is ontworpen om developers en gebruikers te helpen bij verschillende taken, van het schrijven van code tot het beantwoorden van complexe vragen.

Van browser naar CLI

Gemini is natuurlijk beschikbaar via de webinterface op gemini.google.com, maar voor developers die veel tijd in de terminal doorbrengen, is er nu een nog handiger oplossing: gemini-cli.

Gemini CLI is Google's officiële command-line interface voor het interacteren met Gemini AI-modellen direct vanuit je terminal. Voor developers die gewend zijn aan een CLI-workflow kan dit een enorme productiviteitsboost betekenen.

Net zoals je met git je versiecontrole regelt, kun je nu met gemini AI-functionaliteit integreren in je dagelijkse development workflow. Het mooie is dat je hierdoor AI-functies kunt combineren met andere command-line tools via pipes en scripting.

Waarom gemini-cli gebruiken?

De belangrijkste voordelen van gemini-cli ten opzichte van de webinterface zijn:

  • Snelheid: Geen browser nodig, direct vanuit je terminal
  • Integratie: Combineer met andere CLI-tools via pipes
  • Scripting: Automatiseer AI-taken in shell scripts
  • Focus: Blijf in je development omgeving zonder context switching
  • Batch processing: Verwerk meerdere files of inputs in één keer

Installatie en configuratie

Installeren via npm

Gemini CLI is beschikbaar als npm package en kan eenvoudig globaal geïnstalleerd worden:

$ npm install -g @google/gemini-cli

Na installatie kun je controleren of alles goed is gegaan:

$ gemini --version

Output:

0.1.5

Authenticatie configureren

Om gemini-cli te kunnen gebruiken moet je authenticeren met Google's AI services. Er zijn verschillende authenticatiemethoden beschikbaar:

Optie 1: Inloggen met je Google account (aanbevolen)

De eenvoudigste manier is inloggen met je persoonlijke Google account. Bij de eerste keer opstarten van gemini-cli wordt je automatisch doorgestuurd naar een webpagina voor authenticatie. Na authenticatie worden je credentials lokaal opgeslagen, zodat je niet elke keer opnieuw hoeft in te loggen.

Dit geeft je automatisch toegang tot:

  • Tot 60 model requests per minuut
  • 1.000 model requests per dag

Let op: Voor Google Workspace accounts of bepaalde andere gevallen moet je mogelijk een GOOGLE_CLOUD_PROJECT environment variable instellen.

Optie 2: Google AI API key

Voor geavanceerd gebruik of hogere limieten kun je een API key gebruiken. Deze kun je verkrijgen via Google AI Studio.

Er zijn twee manieren om je API key te configureren:

API key via environment variable:

$ export GEMINI_API_KEY="jouw-api-key-hier"

API key via settings bestand:

Gemini CLI maakt automatisch een configuratiemap aan in ~/.gemini/. Je kunt hier een settings.json bestand aanmaken:

$ mkdir -p ~/.gemini
$ echo '{"auth": {"type": "api_key", "api_key": "jouw-api-key-hier"}}' > ~/.gemini/settings.json

Optie 3: Vertex AI

Voor enterprise gebruik kun je ook authenticeren via Vertex AI met Google Cloud credentials.

Aan de slag met gemini-cli

Basis gebruik

De eenvoudigste manier om gemini-cli te gebruiken is door een vraag direct als argument mee te geven:

$ gemini -p "Wat is de hoofdstad van Nederland?"

Output:

De hoofdstad van Nederland is Amsterdam.

Input via stdin

Een krachtige feature is het gebruik van pipes om input door te geven:

$ echo "Leg uit wat deze JavaScript functie doet: function fibonacci(n) { return n <= 1 ? n : fibonacci(n-1) + fibonacci(n-2); }" | gemini

Dit is vooral handig voor het analyseren van code files:

$ cat script.js | gemini -p "Analyseer deze code en geef verbeterpunten"

Verschillende AI-modellen gebruiken

Gemini CLI ondersteunt verschillende modellen. Het standaard model is gemini-2.5-pro, maar je kunt ook andere modellen specificeren:

$ gemini -m "gemini-1.5-flash" -p "Maak een simpele HTML pagina"

De beschikbare modellen zijn:

  • gemini-2.5-pro (standaard) - Meest krachtig voor complexe taken
  • gemini-1.5-flash - Sneller voor eenvoudige taken
  • gemini-1.5-pro - Balans tussen snelheid en kwaliteit

Geavanceerde functies

File context meegeven

Een van de krachtigste features is het meegeven van file context. Hiermee kan Gemini de inhoud van je project begrijpen:

$ gemini -a -p "Analyseer mijn project en geef feedback op de code architectuur"

De -a of --all_files flag zorgt ervoor dat alle files in de huidige directory worden meegenomen als context.

Let op: Wees voorzichtig met deze optie in grote projecten, aangezien dit veel tokens kan kosten.

Sandbox modus

Voor veilige code-uitvoering biedt gemini-cli een sandbox modus:

$ gemini -s -p "Schrijf een Python script dat de Fibonacci reeks berekent en voer het uit"

De -s of --sandbox flag zorgt ervoor dat gegenereerde code veilig wordt uitgevoerd in een geïsoleerde omgeving.

YOLO modus

Voor wie wat avontuurlijker is, is er de YOLO (You Only Live Once) modus. Deze accepteert automatisch alle acties die Gemini voorstelt:

$ gemini -y -p "Refactor mijn JavaScript code en pas de wijzigingen toe"

Waarschuwing: Gebruik YOLO modus alleen in projecten waar je een backup van hebt, aangezien wijzigingen automatisch worden toegepast.

Debug modus

Voor ontwikkelaars die willen begrijpen wat er onder de motorkap gebeurt:

$ gemini -d -p "Analyseer deze error message"

Debug modus geeft meer informatie over de API-calls en verwerkingsprocessen.

Praktische voorbeelden

Code review automatiseren

$ git diff HEAD~1 | gemini -p "Review deze code changes en geef feedback"

Dit combineert Git's diff output met Gemini's code review capabilities.

Documentation genereren

$ cat src/utils.js | gemini -p "Genereer JSDoc commentaren voor deze functies"

Error debugging

$ npm test 2>&1 | gemini -p "Analyseer deze test errors en geef oplossingsrichtingen"

Commit messages verbeteren

$ git diff --cached | gemini -p "Schrijf een duidelijke commit message voor deze changes"

Shell integratie

Bash alias maken

Voor veelgebruikte commando's kun je handige aliases maken:

# In je ~/.bashrc of ~/.zshrc
alias gai="gemini -p"
alias gcode="gemini -p 'Review deze code:'"
alias gexplain="gemini -p 'Leg uit:'"

Nu kun je eenvoudig gebruik maken van:

$ cat complex-algorithm.js | gcode
$ gexplain "wat doet async/await in JavaScript?"

Script integratie

Gemini CLI werkt uitstekend in shell scripts:

#!/bin/bash

# AI-powered commit message generator
generate_commit_message() {
    local diff_output=$(git diff --cached)
    if [ -z "$diff_output" ]; then
        echo "Geen staged changes gevonden"
        return 1
    fi

    echo "$diff_output" | gemini -p "Schrijf een heldere commit message voor deze changes. Gebruik conventional commits format."
}

# Gebruik
generate_commit_message

Tips en best practices

1. Context is koning

Hoe meer relevante context je meegeeft, hoe betere resultaten je krijgt. Gebruik file context slim:

# Specifieke files meegeven
$ gemini -p "Analyseer deze component" < src/components/UserProfile.jsx

2. Pipe chains gebruiken

Combineer meerdere tools voor krachtige workflows:

$ git log --oneline -10 | gemini -p "Analyseer deze commit history en geef feedback op de commit messages"

3. Output formatting

Voor gestructureerde output kun je specifiek om formaten vragen:

$ gemini -p "Maak een checklist voor code review in markdown format"

4. Model selectie

  • Gebruik gemini-1.5-flash voor snelle, eenvoudige taken
  • Gebruik gemini-2.5-pro voor complexe analysis en code generatie
  • Test verschillende modellen om te zien wat het beste werkt voor jouw use case

Troubleshooting

Veelvoorkomende problemen

API Key issues

Error: Please set an Auth method in your .gemini/settings.json

Oplossing: Controleer of je API key correct is geconfigureerd:

$ cat ~/.gemini/settings.json
$ echo $GEMINI_API_KEY

Rate limiting

Error: Rate limit exceeded

Oplossing: Wacht even voordat je het opnieuw probeert, of gebruik een lichter model zoals gemini-1.5-flash.

Geen internet connectie

Error: getaddrinfo EAI_AGAIN

Oplossing: Controleer je internetverbinding en firewall instellingen.

Toekomst van AI in development

Gemini CLI is meer dan alleen een handige tool - het vertegenwoordigt een verschuiving naar AI-geïntegreerde development workflows.

Door AI-functionaliteit direct in je terminal te brengen, verdwijnt de drempel om AI te gebruiken voor dagelijkse development taken. Het wordt net zo natuurlijk als het gebruiken van grep, awk of andere Unix-tools.

De integratie met bestaande command-line tools via pipes en scripts opent de deur naar volledig geautomatiseerde, AI-aangedreven workflows. Denk aan:

  • Automatische code reviews bij elke commit
  • Intelligente error analysis in CI/CD pipelines
  • AI-gegenereerde documentatie updates
  • Smart refactoring suggestions

Done!

Gemini CLI brengt de kracht van Google's AI direct naar je terminal. Door de combinatie van eenvoud, kracht en integratiemogelijkheden is het een waardevolle toevoeging aan elke developer's toolkit.

Of je nu snel een code snippet wilt laten uitleggen, een complexe algorithm wilt analyseren, of je hele development workflow wilt automatiseren - gemini-cli maakt het mogelijk.

Deze blog post is trouwens ook een klein experiment - geschreven met behulp van Copilot om te kijken hoe AI kan bijdragen aan technische content. Een mooie synergie tussen mens en machine!

Tijd om je terminal wat slimmer te maken!

Nuttige links

comments powered by Disqus