Update April 2026 Apr 30, 2026

Copilot CLI: AI-Powered Terminal Assistance

Dit artikel is geschreven met behulp van GitHub Copilot CLI, aangedreven door Claude Haiku 4.5. Dit is een interessante manier om direct in de terminal hulp te krijgen met codetaken.

Wat is Copilot CLI?

GitHub Copilot CLI brengt AI-gestuurde coding assistance rechtstreeks naar je command line. Het is dezelfde agentic harness als GitHub's Copilot coding agent, maar nu geoptimaliseerd voor terminal workflows. Je hoeft niet tussen je editor en AI-assistentie heen en weer te schakelen.

Kernfeatures

Terminal-native development - Werk rechtstreeks in je command line met Copilot zonder context switching. Dit is ideaal voor het beheren van dit blog project; je kunt vragen over de Pelican blog structuur, markdown bestanden analyseren, en contentwijzigingen uitvoeren allemaal vanuit de terminal.

GitHub-integratie - Directe toegang tot repositories, issues, en pull requests met natuurlijke taal. Voor blog maintenance betekent dit dat je issues kunt queryen en PRs kunt beheren vanuit Copilot CLI.

Agentic capabilities - Plan en voer complexe taken uit. Voor dit blog kan dit betekenen dat Copilot templates genereert, fouten in markdown detecteert, of zelfs een volledige nieuwe blogpost kan structureren.

Full control - Iedere actie wordt eerst getoond voordat deze wordt uitgevoerd. Copilot kan geen wijzigingen aanbrengen zonder expliciete goedkeuring.

Praktische voorbeelden voor blogbeheer

Met Copilot CLI kun je: - Inhoud analyseren: Vraag Copilot om thema's te vinden in je blogposts of inconsistenties in naming conventions te detecteren - Content genereren: Laat Copilot artikelschema's of onderwerpsecties schrijven - Onderhoud: Automatiseer repetitieve taken zoals het controleren van links, tags, of datumformaten - Onderzoek: Gebruik /research om te zoeken naar trending topics en inspiratie voor nieuwe posts

Aan de slag

Installeer Copilot CLI:

winget install GitHub.Copilot

Start in je blog directory:

copilot

Bij eerste keer zul je worden gevraagd in te loggen. Daarna kun je direct met Copilot werken met commando's zoals:

Analyze all markdown files for inconsistencies
Generate blog post outline about Docker best practices
/research latest trends in containerization

Model selectie

Copilot CLI maakt standaard gebruik van Claude Sonnet 4.5. Je kunt van model wisselen met het /model commando als je specifieke behoeften hebt. Dit artikel is gegenereerd met Claude Haiku 4.5, die sneller en kosteffectief is voor tekstgeneratie.

Dit soort agentic assistance kan zeker helpen bij het onderhouden en uitbreiden van deze blog!

Cursus

Op Microsoft Learn is een leuke hands-on cursus te vinden hoe je github copilot CLI kan gebruiken inclusief het gebruik van agents en verschillende workflows.

Conclusie

Het is leuk om zo content te genereren en waarschijnlijk blijf ik het wel gebruiken ter ondersteuning maar het zal mijn eigen pogingen tot het maken van content niet vervangen.


VSCode Server en Pelican

Voorheen werkte ik op mijn main PC aan mijn blog en starte ik daar iedere keer Python environments op en kopieerde ik wat output naar verschillende folders, maar nu probeer ik het eens vanuit containers. Ik heb Pelican wat ik gebruik voor mijn blogs in een container staan en dan VSCode Server in een andere container. Ze gebruiken gedeelde volumes voor het genereren van de blog e.d. Om te kunnen testen heb ik er nog een Nginx container bij gedaan voor de hosting. Zo kan ik alles in actie zien voordat ik deploy naar mijn hosting provider.

Mijn docker-compose voor deze opzet.

services:
  pelican:
    image: python:3.12-slim
    container_name: pelican-builder
    working_dir: /site
    volumes:
      - ./content:/site/content
      - ./public_www:/site/output
      - ./themes:/site/themes
      - ./plugins:/site/plugins
      - ./config/pelicanconf.py:/site/pelicanconf.py
      - ./config/publishconf.py:/site/publishconf.py
    command: >
      sh -c "
      pip install --upgrade pip &&
      python -m venv /venv &&
      . /venv/bin/activate &&
      pip install pelican markdown &&
      pelican --listen --autoreload
      "

    ports:
      - "8089:8000"
    restart: unless-stopped

  code:
    image: linuxserver/code-server:latest
    container_name: pelican-code
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Amsterdam
      - PASSWORD=XXXXXX
    volumes:
      - ./git:/workspace/git
      - ./plugins:/workspace/plugins
      - ./themes:/workspace/themes
      - ./config/pelicanconf.py:/site/pelicanconf.py
      - ./config/publishconf.py:/site/publishconf.py
    ports:
      - "8443:8443"
    restart: unless-stopped

  nginx:
    image: nginx:alpine
    container_name: pelican-nginx
    volumes:
      - ./public_www:/usr/share/nginx/html:ro
      - ./nginx/prod.conf:/etc/nginx/conf.d/default.conf:ro
    ports:
      - "8088:80"
    restart: unless-stopped

Om VS Code server te koppelen aan GIT heb ik op de host een SSH key aangemaakt en deze vervolgens toegevoegd aan mijn github account. Op deze manier kan ik vanaf de server meteen syncen met mijn github repositories.

Het stappenplan voor het koppelen aan github

  • SSH key maken op de host (dus de VSCode server)
  • SSH key toevoegen aan github
  • Git folder maken en clone van github naar folder
  • folder mount in vscode server
  • aparte folder voor public_www en scheijgrond.com dan in vscode server kan je alles in git pushen

Dymo label writer aan server

Om een Dymo label writer aan mijn homeserver te koppelen zodat ik dat niet iedere keer aan mijn PC hoefde te koppelen en ik de printer gewoon in de kast kon laten staan heb ik de volgende stappen gevolgd:

  • Allereerst een priviledged LXC container met Debian 13 gemaakt. Helaas is de priviledged container nodig voor het kunnen benanderen van de USB poort door CUPS.
  • Vervolgens in proxmox via lsusb bepaalt wat de USB poort is waar mijn Dymo printer aan gekoppeld is. In mijn geval /dev/bus/usb/001/003 dit geef je vervolgens bij de resources als pass-through aan.
  • In de LXC container vervolgens de volgende commando's uitvoeren
apt update
apt install cups libcups2 libcupsfilters1 libusb-1.0-0 printer-driver-dymo usbutils
apt install cups-client cups-bsd
systemctl start cups
systemctl enable cups
cupsctl --share-printers  --remote-admin
lpinfo -v | grep usb

Dit installeert CUPS met de juiste drivers voor de Dymo printer. Via port http://ip-adres-lxc:631/admin is vervolgens het admin scherm van CUPS te benaderen en kan de printer worden toegevoegd. Hierna kan de printer op de clients geinstalleerd worden en gebruikt worden.