Iedere developer heeft wel eens gehoord van GitHub Copilot: GitHub's AI-powered coding assistant die je helpt bij het schrijven van code direct in je editor. Maar wat als je die krachtige AI-functionaliteit ook in je terminal zou kunnen gebruiken?
GitHub Copilot CLI is een command-line interface die de kracht van GitHub's AI-modellen rechtstreeks naar je terminal brengt. Het helpt je bij het genereren van shell-commando's, het uitleggen van complexe opdrachten, en het automatiseren van je dagelijkse development workflow.
Van editor naar terminal
GitHub Copilot is natuurlijk al bekend van de code-autocompletion in editors zoals VS Code, maar voor developers die veel tijd in de terminal doorbrengen, biedt GitHub Copilot CLI een revolutionaire werkwijze.
GitHub Copilot CLI integreert AI-functionaliteit direct in je command-line workflow, waardoor je complexe commando's kunt genereren, uitleggen en optimaliseren zonder je terminal te verlaten.
Net zoals je met git je versiecontrole regelt, kun je nu met copilot AI-functionaliteit gebruiken voor je dagelijkse terminal taken. Het mooie is dat deze tool specifiek ontworpen is voor shell-commando's en systeembeheer.
Waarom GitHub Copilot CLI gebruiken?
De belangrijkste voordelen van GitHub Copilot CLI ten opzichte van andere AI CLI-tools zijn:
Shell-specifiek: Geoptimaliseerd voor het genereren van shell-commando's
Context-bewust: Begrijpt je huidige directory en git-status
GitHub-integratie: Werkt naadloos samen met GitHub repositories
Multi-platform: Ondersteunt bash, zsh, PowerShell (fish via community)
Interactive mode: Stap-voor-stap guidance bij complexe taken
Agent capabilities: Kan autonome multi-step taken uitvoeren
Installatie en configuratie
Vereisten
Voor GitHub Copilot CLI heb je nodig:
Node.js v22 of hoger
npm v10 of hoger
Een actief GitHub Copilot abonnement
Ondersteunde platforms: Linux, macOS, Windows (experimenteel via WSL)
Installeren via npm
GitHub Copilot CLI wordt geïnstalleerd als standalone tool via npm:
$ npminstall-g @github/copilot
Na installatie kun je controleren of alles goed is gegaan:
$ copilot --version
Authenticatie
Start GitHub Copilot CLI in een code directory:
$ copilot
De eerste keer wordt je gevraagd om in te loggen met je GitHub account. Je kunt ook een Personal Access Token gebruiken voor authenticatie.
Aan de slag met GitHub Copilot CLI
Commando's genereren
De krachtigste functie is het genereren van shell-commando's met natuurlijke taal:
$ copilot -p"vind alle JavaScript files die groter zijn dan 1MB"
Output:
Here's the command to find all JavaScript files larger than 1MB:
find . -name "*.js" -size +1M -type f
This command:
- find . : searches from current directory
- -name "*.js" : matches files with .js extension
- -size +1M : finds files larger than 1MB
- -type f : only matches regular files (not directories)
? Select an option:
> Copy command to clipboard
Explain command
Revise command
Execute command
Commando's uitleggen
Heb je een complex commando gevonden maar weet je niet precies wat het doet? GitHub Copilot CLI kan elk commando uitleggen:
GitHub Copilot CLI legt elk commando stap voor stap uit en helpt je complexe syntax te begrijpen.
Multi-platform ondersteuning
GitHub Copilot CLI werkt met verschillende shells en platforms:
# Bash/Zsh
$ copilot -p"show disk usage sorted by size for bash"# PowerShell
$ copilot -p"get all running processes using more than 100MB RAM for powershell"# Linux/Unix
$ copilot -p"create a backup of my home directory"
Geavanceerde functies
Context-bewuste suggesties
GitHub Copilot CLI is intelligent genoeg om je huidige directory context te begrijpen:
# In een Git repository
$ copilot -p"show me all commits from last week by author"# In een Node.js project
$ copilot -p"install development dependencies and run tests"# In een Python project
$ copilot -p"create virtual environment and install requirements"
Controle over acties
GitHub Copilot CLI geeft je volledige controle over wat er gebeurt:
$ copilot -p"delete all files in this directory"
GitHub Copilot CLI vereist expliciete goedkeuring voor alle acties en geeft je altijd de kans om een commando te bekijken voordat het wordt uitgevoerd. Je kunt ook specifieke tools toestaan of blokkeren met command-line opties.
Alias integration
Je kunt GitHub Copilot CLI integreren in je shell met handige aliases:
# Voeg toe aan je .bashrc of .zshrcaliassuggest='copilot -p'aliasexplain='copilot -p "explain:"'# Nu kun je gewoon typen:
$ suggest "compress all PDFs in this folder"
$ explain "tar -czf backup.tar.gz /home/user/documents"
Praktische voorbeelden
Git workflow automatisering
$ copilot -p"create feature branch, commit all changes, and push to origin"
$ copilot -p"find all processes listening on port 3000 and kill them"
$ copilot -p"check disk space and show largest directories"
$ copilot -p"monitor CPU usage in real-time"
Development workflow
$ copilot -p"run linter, fix formatting, and run tests"
$ copilot -p"build Docker image and push to registry"
$ copilot -p"start development server in background"
Vergelijking met andere AI CLI-tools
GitHub Copilot CLI vs Gemini CLI
GitHub Copilot CLI voordelen:
Specifiek ontworpen voor shell-commando's en terminal workflows
Context-bewust van Git repositories en project structuur
Ondersteuning voor meerdere shells en platforms
Directe integratie met GitHub workflow
Agent capabilities voor complexe multi-step taken
Gemini CLI voordelen:
Breder toepassingsgebied (niet alleen commando's)
Kan files analyseren en code genereren
Multimodale capabilities (tekst, code, etc.)
Meer flexibele prompting
GitHub Copilot CLI vs Claude Code
GitHub Copilot CLI voordelen:
Geïntegreerd in GitHub ecosysteem
Shell-specifieke optimalisaties en terminal-native design
Multi-shell ondersteuning (bash, zsh, PowerShell)
Repository context awareness en project begrip
Interactive agent mode voor complexe taken
Claude Code voordelen:
Meer geavanceerde code reasoning
Betere support voor complexe refactoring
Kan complete applicaties analyseren
Meer uitgebreide explanations
Unieke kenmerken van GitHub Copilot CLI
Wat GitHub Copilot CLI uniek maakt ten opzichte van andere AI CLI-tools:
Shell-native: Specifiek gebouwd voor command-line gebruik
Multi-shell: Native ondersteuning voor bash, zsh, PowerShell (Linux, macOS, Windows)
GitHub-integratie: Begrijpt GitHub repositories en workflows
Context awareness: Weet waar je bent en wat je aan het doen bent
Interactive mode: Stap-voor-stap guidance bij complexe taken
Agent capabilities: Autonome uitvoering van multi-step ontwikkeltaken
Tips en best practices
1. Wees specifiek in je prompts
# Goed
$ copilot -p"find all JavaScript files modified in the last 24 hours and run ESLint on them"# Minder goed
$ copilot -p"lint files"
2. Gebruik context
# In een Node.js project
$ copilot -p"start development server with environment variables from .env file"# In een Python project
$ copilot -p"run tests with coverage report"
3. Verifieer gevaarlijke commando's
Gebruik altijd de explain functie voor commando's die je niet volledig begrijpt:
$ copilot -p"use fzf to interactively select and delete old log files"
$ copilot -p"pipe find results to xargs for batch processing"
Shell integratie
Bash/Zsh integration
Voeg deze functies toe aan je .bashrc of .zshrc:
# Quick suggest functioncs(){
copilot -p"$*"}# Quick explain functionce(){
copilot -p"explain: $*"}# Smart suggest with current directory contextcsd(){localcontext="in directory $(pwd) with files: $(ls-la|head-5|tail-4)"
copilot -p"$*$context"}
PowerShell integration
Voor PowerShell gebruikers:
function cs { copilot -p $args}function ce { copilot -p "explain: $($args)"}Set-Alias suggest cs
Set-Alias explain ce
Troubleshooting
Veelvoorkomende problemen
Probleem: Installatie mislukt
# Oplossing: Herinstalleer met juiste Node.js versie
$ node--version# Controleer dat je v22+ hebt
$ npminstall-g @github/copilot
Probleem: "Authentication failed"
# Oplossing: Start copilot en login opnieuw
$ copilot
# Volg login instructies
Probleem: Langzame response tijd
# Oplossing: Check je internet verbinding
$ ping github.com
Debug modus
Voor troubleshooting kun je debug informatie inschakelen:
$ copilot -p"test command"--verbose
Toekomst van AI in development
GitHub Copilot CLI vertegenwoordigt een belangrijke evolutie in AI-geassisteerde development. Door AI-functionaliteit direct in de command-line te integreren, wordt de drempel om AI te gebruiken voor dagelijkse terminal taken weggenomen.
De focus op context-awareness en expliciete controle maakt het een betrouwbare tool voor production environments. De integratie met het GitHub ecosysteem zorgt voor een naadloze workflow van code naar deployment.
Toekomstige ontwikkelingen die we kunnen verwachten:
Infrastructure as Code: Automated Terraform/Ansible commando's
Security scanning: Ingebouwde security checks voor alle suggesties
Team collaboration: Shared command templates en best practices
Learning mode: Persoonlijke aanpassingen gebaseerd op je workflow
Done!
GitHub Copilot CLI brengt AI-powered assistance direct naar je terminal, specifiek geoptimaliseerd voor shell-commando's en development workflows. Door de combinatie van intelligente suggesties, veiligheidscontroles en GitHub-integratie is het een waardevolle toevoeging aan elke developer's toolkit.
Of je nu complexe Git workflows wilt automatiseren, systeembeheer taken wilt versimpelen, of gewoon wilt leren van betere command-line praktijken - GitHub Copilot CLI maakt het mogelijk.
In vergelijking met andere AI CLI-tools onderscheidt Copilot CLI zich door zijn shell-specifieke focus, agent capabilities en naadloze GitHub-integratie. Terwijl Gemini CLI breder inzetbaar is en Claude Code beter is in code reasoning, is GitHub Copilot CLI ongeëvenaard als het gaat om context-bewuste shell-commando generatie en terminal workflows.
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:
$ npminstall-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:
$ exportGEMINI_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:
#!/bin/bash# AI-powered commit message generatorgenerate_commit_message(){localdiff_output=$(gitdiff--cached)if[-z"$diff_output"];thenecho"Geen staged changes gevonden"return1fiecho"$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:
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!
Als webdeveloper kan het je tegenwoordig haast niet ontgaan zijn, het Laravel framework. Een populair framework geschreven in PHP voor het ontwikkelen van web applicaties. Met Laravel kan je zowel een losse API als een complete full-stack applicatie ontwikkelen. Zo heeft Laravel een heleboel standaard functionaliteiten zoals een ORM, dependency injection, queues en scheduled jobs. Daarnaast kan er met een extra package en enkele commands een compleet authenticatie systeem gegenereerd worden. Hierdoor is het een zeer geschikt framework voor de snelle realisatie van een proof of concept applicatie.
Echter komen met al deze functionaliteiten ook de nodige tools bij kijken die je moet installeren op je machine. Zo heb je in elk geval PHP en Composer nodig en ontkom je eigenlijk ook niet aan een database als MySQL. Als de applicatie eenmaal iets uitgebreider wordt kom je ook al snel dingen tegen als NPM, NodeJS en Redis voor bijvoorbeeld het maken van een WebSocket server of het compileren van frontend assets. Uiteindelijk zorgt dit ervoor dat iedereen in het team en op de productie omgeving vanalles moet installeren en vervolgens ook nog dezelfde versie moet draaien. Hierdoor loop je al snel het risico dat je het welbekende probleem tegenkomt: "maar op mijn machine werkt het gewoon hoor".
Docker? Eerst nog even iets anders
Als oplossing voor dit probleem hadden de developers van Laravel al snel een oplossing. Virtuele Machines!
Met een Virtuele Machine werd dit probleem van verschillende ontwikkel- en productieomgevingen opgelost voordat Docker de standaard was. Laravel heeft hiervoor de Homestead package ontwikkeld. Dit is een Vagrant box voorverpakt met alle tools die je die je in je dagelijkse Laravel development tegenkomt. Vagrant is hierin de tool voor het beheren van virtuele machines in combinatie met VirtualBox of Parallels. Hierdoor had elke developer dezelfde ontwikkelomgeving en hoefde deze alleen nog maar nagebouwd te worden op de productieomgeving.
Deze oplossing werkt in principe prima alleen is het probleem dat een Virtuele machine relatief zwaar is wat betreft hardwaregebruik. Voor elke applicatie heb je een nieuwe VM nodig en uiteindelijk neemt dit ook wel de nodige opslagruimte in beslag. Het werkt maar is niet de ideale oplossing.
Docker, dé oplossing!
Docker biedt voor het probleem van hardwaregebruik en snelheid de ideale oplossing. Docker is een platform voor het beheren van container applicaties. De containers zijn een stuk minder zwaar in gebruik dan virtuele machines. Daarnaast zijn containers snel en zijn ze makkelijk uitbreidbaar. Voor een uitgebreide vergelijking tussen containers en virtuele machines raad ik dit artikel aan.
Uiteindelijk heeft Laravel hiervoor ook een package gemaakt genaamd Sail. Hiermee kan de hele stack die voor Laravel nodig is gebruikt wordon zonder zelf ook maar iets te installeren. Het enige wat je nodig hebt is een Docker installatie en wanneer er Windows gebruikt wordt WSL2 (Windows Subsystem for Linux).
Aan de slag!
Nu gaan we daadwerkelijk aan de slag een een Laravel project opzetten met Docker. Zorg ervoor dat je Docker en Docker Compose hebt geinstalleerd. Bij Windows en macOS zit Docker Compose standaard bij je Docker Desktop installatie. Alleen voor een Linux OS is het noodzakelijk Docker Compose apart te installeren. Voor de installatie instructies van Docker zie de Docker Docs.
Aanmaken project
Start een terminal op en voer de commando hieronder uit.
Let op: als Windows gebruiker moet je in de WSL terminal zitten door wsl uit te voeren in PowerShell of Command Prompt.
curl-s https://laravel.build/voorbeeld-app |bash
Deze commando maakt een nieuw Laravel project aan in de map voorbeeld-app en installeerd alle Composer dependencies. Uiteraard kan de tekst voorbeeld-app veranderd worden naar de naam van je project.
Ga vervolgens naar de map van je nieuwe project door de volgende commando te doen:
cd voorbeeld-app
Vanuit deze map kan de applicatie gestart worden in Docker. Dit gebeurt met de volgende commando:
./vendor/bin/sail up
Nu worden alle Docker images gedownload de containers gestart. Als alles goed is verlopen zou het project beschikbaar moeten zijn op localhost. Ga naar de browser en typ localhost in de url balk om dit te verifieren. Als het goed is is nu het volgende scherm te zien.
Gefeliciteerd, je hebt nu een Laravel applicatie draaien en kan aan de slag om een prachtige applicatie te ontwikkelen!🎉
Dependencies installeren vanuit een git repository
Het kan natuurlijk voorkomen dat jij niet degene bent die een nieuw project opzet in het team. Je zal dan hoogstwaarschijnlijk het project clonen via git alleen ontbreken vervolgens alle dependencies. Ook hier is aan gedacht en er is daar ook een commando voor.
docker run --rm\-u"$(id-u):$(id-g)"\-v$(pwd):/var/www/html \-w /var/www/html \
laravelsail/php81-composer:latest \composerinstall --ignore-platform-reqs
Deze commando zal een aparte docker container aanmaken (en vervolgens ook verwijderen) en vanuit daar alle Composer dependencies installeren zodat je zelf geen Composer hoeft te installeren op je eigen machine.
Verder lezen
Ben je nou nieuwsgierig geworden naar Laravel of Docker? Kijk dan eens op de volgende sites.