Geek Bites   Archief   

GitHub Copilot CLI: Je AI-geassisteerde command-line companion

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:

$ npm install -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:

$ copilot -p "explain: find . -name '*.log' -mtime +7 -delete"

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 .zshrc
alias suggest='copilot -p'
alias explain='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"

Genereert bijvoorbeeld:

git checkout -b feature/new-feature && git add . && git commit -m "Add new feature" && git push -u origin feature/new-feature

Systeembeheer

$ 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:

  1. Shell-native: Specifiek gebouwd voor command-line gebruik
  2. Multi-shell: Native ondersteuning voor bash, zsh, PowerShell (Linux, macOS, Windows)
  3. GitHub-integratie: Begrijpt GitHub repositories en workflows
  4. Context awareness: Weet waar je bent en wat je aan het doen bent
  5. Interactive mode: Stap-voor-stap guidance bij complexe taken
  6. 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 "explain: sudo rm -rf /"  # NOOIT UITVOEREN!

4. Combineer met bestaande tools

$ 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 function
cs() {
    copilot -p "$*"
}

# Quick explain function
ce() {
    copilot -p "explain: $*"
}

# Smart suggest with current directory context
csd() {
    local context="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
$ npm install -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:

  • Workflow automation: Volledige CI/CD pipeline suggesties
  • 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.

Tijd om je terminal wat slimmer te maken!

Nuttige links

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

Laravel & Docker

Sander Elderman

github.com/sanderelderman

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

But it works on my machine

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.

Laravel hoofdscherm

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 \
    composer install --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.

comments powered by Disqus