Het begon met één regel in een terminal:
[klant@server ~]$ claude
bash: claude: command not found
Claude Code stond op onze hostingserver, maar alleen de beheerder kon het starten. Gewone hostingaccounts zitten in een afgeschermde omgeving die de installatie niet kon zien. Dat was in een uur opgelost (hoe precies). De echte vraag kwam daarna: waarom zou iemand met een website een terminal willen openen en daar Claude laten inloggen?
Stap 1: inloggen zonder terminal
Claude Code vraagt bij de eerste start om in te loggen, en daarvoor moet je een URL openen en een code terugplakken in de terminal. Voor een ontwikkelaar prima, voor een ondernemer met een website een drempel.
Dus bouwden we een koppelknop in DirectAdmin. Je logt in op claude.com, plakt de code terug in het panel, en elke terminal van je account is ingelogd. Onder de motorkap doet de server precies wat /login zou doen, alleen zonder dat jij een terminal ziet.
We deden dit eerder al voor klanten met een eigen server, via een losse webpagina. Die ervaring scheelde veel: we wisten al dat een code een # bevat die bij dubbelklikken wegvalt, en dat dubbel klikken op "inloggen" twee inlogpogingen start waarvan de code niet meer past.
Stap 2: de terminal weglaten
Een terminal met Claude is krachtig, maar "verander de prijs op de homepage" typen in een zwart scherm voelt voor de meeste mensen niet vertrouwd. Dus bouwden we er een chat omheen, in DirectAdmin zelf, op de Claude Agent SDK.
Het moeilijke deel was niet de chat. Het was vertrouwen:
- Elke wijziging eerst zien. Een bestandswijziging verschijnt als kaart met precies de regels die veranderen. Jij klikt op toestaan.
- Alles terug kunnen draaien. Vóór elke opdracht maakt de server een momentopname. Eén knop zet alles terug.
- Niet meer macht dan nodig. Claude draait als jouw gebruiker, in dezelfde afgeschermde omgeving als je terminal, binnen de limieten van je pakket.
Later kwamen daar keuzeknoppen bij (als Claude een vraag stelt), live meelezen terwijl Claude werkt, eerdere gesprekken hervatten en een auto-modus waarin Claude zelf beoordeelt wat veilig is.
Stap 3: Claude laten weten waar hij is
Claude weet veel over WordPress en PHP, maar niets over jóúw hosting. Welke PHP-versie draait je site? Waar staan de bestanden? Hoe maak je hier een backup?
Die kennis verspreiden we nu als Claude Code-plugin over al onze servers. Bij de start van elk gesprek krijgt Claude een paar regels met de feiten van jouw account. Voor de rest zijn er handleidingen die Claude pas leest als het nodig is, en scripts voor taken die altijd precies goed moeten gaan, zoals WordPress veilig updaten. Hoe dat werkt schreven we op in Claude Code-plugins uitrollen over al je servers.
Stap 4: Git, zonder formulier
Werk je met GitHub, dan wil je dat je website de code uit je repository toont. DirectAdmin kan dat, maar het formulier vraagt om een "keyfile". Nu kies je een website en een repository, kopieer je één sleutel naar GitHub, en de rest gaat vanzelf. Met een webhook staat een push binnen seconden live (zo).
Wat nog open staat
We gebruiken dit zelf, elke dag, en vinden nog steeds dingen die beter moeten. Een paar daarvan zijn best leerzaam: bugs die we pas vonden door het zelf te gebruiken.
Wil je het uitproberen op je eigen website? Lees hoe de webhosting werkt of stuur ons een bericht.