Terug naar blog
AI in de praktijk 6 min leestijd

CLI tools zijn de shit (met Claude Code)

GUIs zijn voor mensen, CLIs zijn voor iedereen. Met 12+ CLI tools en Claude Code heb ik een ecosysteem waar elke nieuwe integratie een kwestie van uren is. De Unix-filosofie is vijftig jaar oud en relevanter dan ooit.

Elke developer kent het gevoel. Je hebt een GUI open, je klikt door menus, je kopieert data van het ene scherm naar het andere. Het werkt. Maar het schaalt niet. En het is precies het soort werk dat een AI agent niet kan doen, want die heeft geen muis.

CLI tools lossen dit op. Ze zijn de brug tussen AI en de buitenwereld. In deze blog leg ik uit waarom ik een hele suite CLI tools heb gebouwd, hoe simpel ze in elkaar zitten, en waarom dit de meest schaalbare manier is om AI met externe services te laten praten.

GUI's zijn voor mensen, CLI's zijn voor iedereen

Een grafische interface is ontworpen voor menselijke interactie. Knoppen, dropdowns, drag-and-drop. Prima als jij de gebruiker bent. Maar zodra je een AI agent wilt laten samenwerken met Sentry, Linear, of Outlook, loop je vast. Een agent kan niet klikken.

CLI tools werken anders. Input erin, output eruit. Geen visuele laag, geen browser, geen muis. Puur tekst. En tekst is precies wat een LLM begrijpt.

Dit is geen nieuwe observatie. De Unix-filosofie bestaat al vijftig jaar: schrijf programma's die een ding doen en dat goed doen. Maak ze composable via pipes. Laat tekst de universele interface zijn.

Wat wel nieuw is: AI agents kunnen die filosofie nu direct gebruiken. Claude Code heeft toegang tot een Bash tool. Het kan elk commando uitvoeren dat jij ook kunt uitvoeren. Dat betekent dat elke CLI tool automatisch een AI tool is.

Mijn CLI toolkit: 12+ tools

In James, mijn AI assistant framework, heb ik een groeiende collectie CLI tools gebouwd. Ze leven allemaal in ~/James/bin/ en zijn direct beschikbaar in elke terminal sessie:

  • linear: Issue tracking, stories ophalen, status updaten, comments plaatsen
  • sentry: Error tracking, issues bekijken, stacktraces lezen, errors resolven
  • postman: API collections beheren en synchroniseren
  • browser: Screenshots maken, formulieren invullen, pagina's navigeren
  • outlook: Mail en agenda via Microsoft Graph
  • perplexity: Web search via Perplexity AI
  • book: Manuscript statistieken en validatie
  • tts: Text-to-speech via ElevenLabs
  • cf-crawl: Websites crawlen naar markdown via Cloudflare Browser Rendering
  • gws: Google Workspace, Gmail en Calendar
  • qmd: Zoeken door mijn lokale kennisbank

Elk van deze tools wrapt een API. Niets meer, niets minder. De tool handelt authenticatie af, parst de argumenten, roept de API aan, en geeft gestructureerde output terug. Claude hoeft alleen maar het juiste commando te draaien.

Hoe een CLI tool eruitziet

Het mooie van CLI tools is hoe simpel ze zijn. Het patroon is altijd hetzelfde:

  1. Argumenten parsen (wat wil de gebruiker?)
  2. API aanroepen (met opgeslagen credentials)
  3. Output formatteren (JSON of leesbare tekst)

Dat is het. Geen UI framework, geen state management, geen routing. Gewoon een script dat input verwerkt en output geeft.

Neem de sentry CLI. Het commando sentry issues --project sia --unresolved haalt alle onopgeloste errors op. Het commando sentry issue 12345 geeft de volledige stacktrace. Simpele subcommando's, voorspelbare output.

Dit maakt ze ook makkelijk te bouwen. Een nieuwe integratie toevoegen kost me meestal een uur of twee. API docs lezen, authenticatie regelen, drie of vier subcommando's implementeren, klaar. Geen boilerplate, geen framework overhead.

MCP: de bridge tussen CLI en AI

Anthropic's Model Context Protocol (MCP) is ontworpen om AI agents toegang te geven tot externe tools. Je definieert een server, registreert tools, en het model kan ze aanroepen. Het is een elegant systeem.

Maar voor veel use cases is het overkill. Een MCP server draait constant, neemt context in beslag, en voegt overhead toe. Voor mijn situatie, waar ik al CLI tools heb die precies doen wat ik nodig heb, is er een simpeler alternatief.

Claude Code kan CLI tools direct aanroepen via de Bash tool. Geen MCP server nodig. Ik beschrijf de tool in CLAUDE.md, en Claude weet hoe het te gebruiken.

Waar ik MCP wel gebruik: voor tools die complexere interactie vereisen. QMD (mijn kennisbank search) draait als MCP server omdat het meerdere zoekstrategieen ondersteunt met gestructureerde parameters. Voor simpelere tools is een CLI meer dan voldoende.

Concrete voorbeelden

Theorie is leuk, maar het gaat om de praktijk. Hier zijn workflows die dagelijks voorkomen.

Sentry error naar fix naar commit. Ik zeg: "Check Sentry voor SIA." Claude draait sentry issues --project sia --unresolved, ziet een TypeError in de ContactForm, haalt de stacktrace op, leest de relevante code, fixt de bug, draait de tests, en rapporteert wat er gedaan is. Ik review de fix en commit. Wat normaal vijf minuten klikken in de Sentry UI kost, is nu een conversatie van dertig seconden.

Linear stories doorwerken. De /feature workflow begint met linear issue ENG-234. Claude leest de story, begrijpt de requirements, doet research, schrijft een spec, en begint met bouwen. Halverwege update het de Linear status. Na afronding voegt het een comment toe met een samenvatting van wat er gedaan is. Alles via dezelfde CLI.

Mail beantwoorden met context. "Wat stuurde Pieter vorige week over het SIA project?" Claude zoekt via outlook de relevante mails, via qmd de projectcontext, en geeft een samenvatting. Als ik wil reageren, stelt het een antwoord voor dat ik kan goedkeuren.

Website research. "Crawl de documentatie van die nieuwe library." Claude gebruikt cf-crawl om de site naar markdown te converteren, leest het resultaat, en vat samen wat relevant is voor ons project. Geen browser openen, geen kopiƫren en plakken.

Waarom dit schaalt

Het patroon is altijd hetzelfde: nieuwe service, nieuwe CLI tool. De investering per integratie is minimaal, en het rendement is direct.

  • Composable. Tools combineren met pipes en scripts.
  • Testbaar. Elke CLI tool is onafhankelijk testbaar. Geen complexe integratietests nodig.
  • Versionbaar. Het is gewoon code. Git tracked alles. Rollback is een commit terug.
  • Overdraagbaar. Een collega kan dezelfde tools gebruiken met eigen credentials. Geen magic, geen vendor lock-in.
  • AI-native. Elke tool die werkt in de terminal werkt automatisch met Claude Code. Geen extra aanpassingen nodig.

Vergelijk dit met GUI-gebaseerde workflows. Elke integratie vereist een browser extensie, een Zapier connectie, of een custom MCP server. CLI tools zijn een fractie van die complexiteit.

Begin klein

Je hoeft niet met twaalf tools tegelijk te starten. Pak de service waar je het meeste tijd aan kwijt bent. Bouw een CLI tool die de drie meest voorkomende acties automatiseert. Voeg het toe aan je CLAUDE.md, en kijk hoe Claude het oppakt.

Na een week heb je een workflow die sneller is dan elke GUI. Na een maand heb je een toolkit die je niet meer kwijt wilt. Na een jaar heb je een ecosysteem waar elke nieuwe integratie een kwestie van uren is, niet dagen.

De Unix-filosofie is vijftig jaar oud. Het feit dat die filosofie nu de beste manier blijkt om AI agents met de wereld te verbinden, zegt iets over de kracht van simpele, composable tools. Niet alles hoeft complex te zijn. Soms is een script met args in en output uit precies genoeg.

Wil je weten hoe CLI tools en AI-gedreven development jouw workflow kunnen versnellen? Neem contact op, ik denk graag mee.

Wil je dit soort oplossingen in je eigen organisatie?

Vragen over dit onderwerp?

Ik denk graag mee over hoe dit toepasbaar is voor jouw situatie.

Deze site gebruikt cookies voor analytics. Privacybeleid