Der KI-Assistent für die Kommandozeile
Claude Code ist ein agentischer Kommandozeilen-Assistent, der Dateien liest und schreibt, Befehle ausführt und eigenständig Werkzeuge nutzt, um Entwicklungsaufgaben direkt im Terminal zu erledigen. Dieser Artikel erklärt, was Claude Code technisch von einem Chat-Assistenten unterscheidet, wie eine erste Session abläuft und für welche PHP- und Magento-Aufgaben sich der Einsatz konkret lohnt.
Inhaltsverzeichnis
- 1. Was Claude Code eigentlich ist
- 2. Agentic CLI vs. Chat-Assistent: der zentrale Unterschied
- 3. Installation und erste Einrichtung
- 4. Eine realistische erste Session
- 5. Die Werkzeuge im Detail: Read, Edit, Bash, Grep
- 6. Permissions und Sicherheitsmodell
- 7. Projektkontext über CLAUDE.md steuern
- 8. Typische Einsatzszenarien für PHP- und Magento-Entwickler
- 9. Grenzen, Risiken und Vergleich im Überblick
- 10. Zusammenfassung
- 11. FAQ
1. Was Claude Code eigentlich ist
Claude Code ist eine Kommandozeilenanwendung von Anthropic, die das Sprachmodell Claude mit einer agentischen Ausführungsschicht verbindet. Das Modell generiert dabei nicht nur Text, sondern kann über klar definierte Werkzeuge (Tools) selbstständig Dateien lesen und schreiben, Shell-Befehle ausführen und den Code mit Suchwerkzeugen wie Grep und Glob durchsuchen. Der Begriff "agentisch" beschreibt konkret: Claude Code zerlegt eine Aufgabe in Schritte, führt einen Schritt aus, liest das tatsächliche Ergebnis, etwa eine Fehlermeldung oder eine Testausgabe, und passt den nächsten Schritt entsprechend an, ohne dass ein Mensch jeden Zwischenschritt manuell anstoßen muss.
Installiert wird Claude Code über npm, es läuft lokal im Terminal und verbindet sich mit der Anthropic API oder einem kompatiblen Provider wie Amazon Bedrock oder Google Vertex AI. Anders als reine Code-Vervollständigung im Editor ist Claude Code für mehrstufige Aufgaben gedacht: einen Bug über mehrere Dateien hinweg finden und beheben, ein Feature nach Spezifikation implementieren oder ein Refactoring mit anschließendem Testlauf validieren. Die Kernidee ist nicht ein neues Sprachmodell, sondern eine neue Ausführungsumgebung um ein bestehendes Modell herum.
2. Agentic CLI vs. Chat-Assistent: der zentrale Unterschied
Ein klassischer Chat-Assistent liefert Text als Antwort zurück. Ein Entwickler kopiert Code in das Chatfenster, erhält einen Vorschlag als Text, fügt ihn manuell zurück in die Datei ein, führt den Befehl selbst aus und meldet eine Fehlermeldung wieder zurück in den Chat, falls etwas schiefgeht. Jeder dieser Schritte ist eine manuelle Unterbrechung. Claude Code schließt genau diese Lücke: Es hat innerhalb einer Berechtigungsgrenze direkten Zugriff auf Dateisystem und Shell, führt die vorgeschlagene Änderung selbst aus, beobachtet unmittelbar das Ergebnis über die Werkzeugausgabe und setzt die Arbeit eigenständig fort.
Der zweite wesentliche Unterschied betrifft den Kontext. Ein Chat-Assistent kennt nur das, was manuell eingefügt wurde. Claude Code kann die Codebasis mit Grep durchsuchen, eine CLAUDE.md-Datei laden, Imports über mehrere Dateien hinweg verfolgen und die Testsuite ausführen. Das verschiebt die Art der Aufgaben, für die sich das Werkzeug eignet: weg von reiner Fragebeantwortung ("Wie mache ich X") hin zu tatsächlicher Aufgabenerledigung ("Erledige X in diesem Repository und prüfe, dass es funktioniert"). Diese Fähigkeit bringt aber auch Verantwortung mit sich, denn wer Werkzeugen Ausführungsrechte gibt, muss diese Rechte bewusst begrenzen, dazu mehr im Abschnitt zu Permissions.
3. Installation und erste Einrichtung
Die Installation erfolgt über npm als globales Paket, danach steht der Befehl claude systemweit im Terminal zur Verfügung. Beim ersten Start fragt Claude Code nach einer Authentifizierung, entweder über einen Login mit dem Claude-Konto (Pro- oder Max-Abo) oder über einen API-Key, der nutzungsbasiert über Tokens abgerechnet wird. Beide Wege funktionieren technisch identisch, unterscheiden sich aber im Abrechnungsmodell: Ein Abo hat ein festes monatliches Kontingent, ein API-Key wird nach tatsächlichem Verbrauch berechnet.
Nach der Anmeldung erkennt Claude Code automatisch das Wurzelverzeichnis eines Git-Repositorys, sobald es innerhalb eines Projektordners gestartet wird. Eine optionale .claudeignore-Datei funktioniert ähnlich wie .gitignore und schließt Verzeichnisse wie vendor/ oder var/ von der Dateisuche aus, was besonders in großen Magento-Installationen mit vielen generierten Dateien die Antwortgeschwindigkeit spürbar verbessert. Konfigurationsdateien liegen projektweit unter .claude/settings.json und global unter ~/.claude/, sodass sich Team- und persönliche Einstellungen sauber trennen lassen.
#!/usr/bin/env bash
# Install Claude Code globally via npm
npm install -g @anthropic-ai/claude-code
# Start Claude Code inside a project directory
cd ~/development/mironsoft/src
claude
# Alternative: authenticate once via the Claude Code login flow
claude login
# Check installed version and update to the latest release
claude --version
claude update
4. Eine realistische erste Session
In der Praxis sieht eine erste Session meist so aus: Ein Entwickler öffnet das Terminal im Projektverzeichnis, startet claude und beschreibt das Problem in natürlicher Sprache, etwa einen Checkout-Fehler bei Gutscheincodes mit Sonderzeichen. Claude Code durchsucht daraufhin die Codebasis mit Grep nach relevanten Klassennamen, liest die betroffene Plugin-Datei vollständig ein und schlägt eine konkrete Änderung vor. Bevor die Änderung tatsächlich geschrieben wird, erscheint eine Bestätigungsabfrage, sofern der Vorgang nicht bereits über die Permission-Einstellungen freigegeben ist.
Nach der Bestätigung schreibt Claude Code die Änderung und führt anschließend selbstständig den passenden Testbefehl aus, um zu prüfen, ob der Fix tatsächlich funktioniert. Schlägt der Test fehl, liest Claude Code die Fehlermeldung und passt die Änderung erneut an, ohne dass der Entwickler die Fehlermeldung selbst kopieren muss. Jeder einzelne Werkzeugaufruf wird dabei sichtbar im Terminal protokolliert, sodass der gesamte Ablauf nachvollziehbar bleibt und jederzeit unterbrochen werden kann, falls die vorgeschlagene Richtung nicht passt.
# Interactive session started inside the Magento project root
$ claude
> The checkout throws an exception when a coupon code containing
> special characters is applied. Please find the root cause and fix it.
# Claude Code searches the codebase for the relevant plugin
[tool] Grep: pattern="applyCoupon" path="app/code/Mironsoft"
[tool] Read: app/code/Mironsoft/Checkout/Plugin/CouponValidatorPlugin.php
# It proposes a fix and asks for permission before writing to disk
[tool] Edit: app/code/Mironsoft/Checkout/Plugin/CouponValidatorPlugin.php
> Apply this change? (y/n)
# After approval it verifies the fix by running the existing test suite
[tool] Bash: bin/cli vendor/bin/phpunit --filter CouponValidatorPluginTest
5. Die Werkzeuge im Detail: Read, Edit, Bash, Grep
Das agentische Verhalten von Claude Code entsteht nicht durch ein anderes Modell, sondern durch die Werkzeuge, die dem Modell zur Verfügung gestellt werden. Read und Write beziehungsweise Edit erlauben das Lesen und gezielte Ändern von Dateien, ohne die restliche Datei zu überschreiben. Das Bash-Werkzeug führt beliebige Shell-Befehle aus, etwa Build-Skripte, Testläufe oder Git-Kommandos, und liefert die vollständige Ausgabe inklusive Exit-Code zurück an das Modell. Grep und Glob übernehmen die schnelle Suche über große Codebasen hinweg, ohne dass jede Datei einzeln eingelesen werden muss.
Zusätzlich zu diesen Kernwerkzeugen lassen sich spezialisierte Skills und Subagenten einbinden, etwa für Code-Reviews oder Deployment-Workflows, die eigene, engere Werkzeugsätze verwenden. Wichtig für das Verständnis: Claude Code wählt selbstständig aus, welches Werkzeug für einen Teilschritt sinnvoll ist, basierend auf der Beschreibung der Werkzeuge im Systemkontext. Diese Auswahl ist nicht immer optimal, weshalb sich ein Blick auf die tatsächlich ausgeführten Werkzeugaufrufe lohnt, gerade bei sicherheitsrelevanten Änderungen an Produktivsystemen.
6. Permissions und Sicherheitsmodell
Standardmäßig arbeitet Claude Code nach dem Prinzip "lesen ohne Rückfrage, schreiben und ausführen mit Rückfrage". Lesende Operationen wie Grep, Glob oder Read laufen ohne Unterbrechung, weil sie keine Zustandsänderung bewirken. Sobald jedoch eine Datei geschrieben oder ein Shell-Befehl ausgeführt werden soll, erscheint eine Bestätigungsabfrage, es sei denn, der konkrete Befehl oder Pfad wurde zuvor in settings.json explizit freigegeben. Diese Freigaben lassen sich als Muster formulieren, etwa alle Aufrufe von bin/phpcs, aber keine destruktiven Befehle wie rm -rf.
Wichtig ist, dass CLAUDE.md-Anweisungen lediglich Kontext für das Modell liefern, aber keine harte Sicherheitsgrenze darstellen. Die tatsächliche Durchsetzung erfolgt über das Permission-System, nicht über Textanweisungen in einer Markdown-Datei. Wer Claude Code mit sehr breiten Freigaben laufen lässt, etwa pauschal alle Bash-Befehle, verliert einen Teil der Kontrolle über potenziell destruktive Aktionen. Eine engere Freigabeliste, kombiniert mit einer Deny-Liste für riskante Muster, ist der sicherere Ausgangspunkt für den produktiven Einsatz in echten Projekten.
{
"permissions": {
"allow": [
"Bash(bin/magento cache:flush)",
"Bash(bin/phpcs *)",
"Bash(bin/analyse *)",
"Read(//home/mir/development/mironsoft/src/**)"
],
"deny": [
"Bash(rm -rf *)",
"Bash(git push --force*)",
"Read(//home/mir/development/mironsoft/.env)"
]
}
}
7. Projektkontext über CLAUDE.md steuern
Eine CLAUDE.md-Datei im Projekt-Root wird bei jedem Start automatisch als Kontext geladen und enthält typischerweise Coding-Konventionen, projektspezifische Wrapper-Befehle wie bin/magento statt php bin/magento, sowie Architekturregeln wie die Bevorzugung von ViewModels gegenüber Block-Klassen. Weil die Datei als gewöhnliche Markdown-Datei ins Repository eingecheckt wird, teilt sich das gesamte Team dieselbe Grundkonfiguration, statt dass jeder Entwickler individuelle, unsichtbare Vorgaben im eigenen Chat wiederholt.
Verschachtelte CLAUDE.md-Dateien in Unterverzeichnissen ergänzen die Regeln der übergeordneten Datei um lokale Besonderheiten, etwa spezielle Konventionen für ein einzelnes Modul. Wichtig für das Verständnis: CLAUDE.md ist beratender Kontext, der in den Prompt eingespeist wird, keine Regel-Engine mit erzwungener Durchsetzung. Widersprüchliche oder zu vage formulierte Anweisungen werden dadurch nicht zuverlässig befolgt. Je konkreter und je knapper die Regeln formuliert sind, desto konsistenter hält sich Claude Code in der Praxis daran.
8. Typische Einsatzszenarien für PHP- und Magento-Entwickler
Besonders gut geeignet ist Claude Code für Aufgaben mit einem objektiv prüfbaren Erfolgskriterium. Ein Refactoring, bei dem ein Interface über mehrere Vendor-Module hinweg umbenannt werden muss, lässt sich mit Grep zuverlässig vollständig erfassen, statt einzelne Vorkommen manuell zu übersehen. Debugging-Sitzungen profitieren davon, dass Claude Code echte Log-Dateien über bin/log lesen und mit dem Quellcode abgleichen kann, statt auf eine manuell eingefügte Fehlermeldung angewiesen zu sein. Auch das Schreiben von PHPUnit-Tests gegen bestehenden Code funktioniert gut, weil sich der Test direkt im Anschluss ausführen und bei Bedarf iterativ korrigieren lässt.
Ein weiteres starkes Szenario ist die statische Analyse: bin/analyse app/code/Mironsoft/SeoSuite --level=5 ausführen, gemeldete PHPStan-Fehler lesen und gezielt beheben, bis der Lauf sauber durchläuft. Auch repetitive, aber musterbasierte Aufgaben wie das Erstellen von deklarativem Schema (db_schema.xml) oder di.xml-Einträgen nach bestehenden Konventionen im Projekt eignen sich gut. Weniger gut geeignet sind Aufgaben ohne prüfbares Ergebnis, etwa rein gestalterische Entscheidungen oder komplexe Geschäftslogik-Fragen, bei denen es kein "richtig" oder "falsch" gibt, das sich automatisiert verifizieren lässt.
#!/usr/bin/env bash
# Typical multi-step task Claude Code can drive end to end
# 1. Reproduce: run the failing test to see the actual error
bin/cli vendor/bin/phpunit --filter CouponValidatorPluginTest
# 2. Static analysis before touching production code
bin/analyse app/code/Mironsoft/Checkout --level=5
# 3. After the fix, clean caches and re-run the test
bin/cache-clean
bin/cli vendor/bin/phpunit --filter CouponValidatorPluginTest
# 4. Let Claude Code stage only the relevant files, never the whole tree
git add app/code/Mironsoft/Checkout/Plugin/CouponValidatorPlugin.php
git commit -m "Fix coupon validation for codes with special characters"
9. Grenzen, Risiken und Vergleich im Überblick
Claude Code kennt den tatsächlichen Zustand eines laufenden Produktivsystems nicht von sich aus, sondern nur das, was über Dateien, Befehle und Logs sichtbar gemacht wird. Bei mehrdeutigen Anweisungen kann das Modell selbstbewusst eine plausible, aber falsche Annahme treffen und darauf aufbauend weiterarbeiten. Weil Befehle mit den Rechten des ausführenden Nutzers laufen, sind zu breit formulierte Freigabelisten ein reales Risiko, insbesondere in Umgebungen mit Zugriff auf Produktionsdaten. Die Kosten skalieren zudem mit der tatsächlichen Nutzung über Tokens, was bei langen, wiederholt fehlschlagenden Sitzungen spürbar ins Gewicht fallen kann.
Empfehlenswert ist deshalb ein fester Arbeitsablauf: jede Änderung vor dem Commit selbst durchsehen, CLAUDE.md aktuell und konkret halten, Freigabelisten eng fassen und neue Workflows zuerst in einer Docker-Entwicklungsumgebung statt direkt gegen ein Produktivsystem testen. Hooks wie PreToolUse lassen sich zusätzlich nutzen, um bestimmte riskante Befehlsmuster automatisch zu blockieren, bevor sie überhaupt zur Ausführung kommen.
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "scripts/block-dangerous-commands.sh"
}
]
}
]
}
}
| Kriterium | Chat-Assistent | Claude Code (Agentic CLI) | Klassische Autovervollständigung |
|---|---|---|---|
| Zugriff auf Dateisystem | Kein direkter Zugriff, Code muss kopiert werden | Liest/schreibt Dateien direkt über Read/Edit-Tools | Nur die aktuell geöffnete Datei |
| Befehle ausführen | Nicht möglich, Nutzer führt Befehle manuell aus | Führt Bash-Befehle selbst aus und liest die Ausgabe | Kein Befehlszugriff |
| Mehrschritt-Aufgaben | Jeder Schritt erfordert eine neue Copy-Paste-Runde | Plant, führt aus, prüft Ergebnis, iteriert selbstständig | Nur Zeilen- oder Blockvorschläge |
| Projektkontext | Nur was manuell in den Chat eingefügt wird | CLAUDE.md und Grep über die gesamte Codebasis | Lokaler Kontext im geöffneten Editor-Tab |
| Ergebnis-Verifikation | Nutzer meldet Fehler manuell zurück | Führt Tests und Linter selbst aus und reagiert auf Fehler | Keine Verifikation vorgesehen |
Die Tabelle zeigt, dass die drei Ansätze keine Konkurrenz um dasselbe Problem sind, sondern unterschiedliche Granularität abdecken. Autovervollständigung eignet sich für Mikro-Entscheidungen innerhalb einer Zeile, ein Chat-Assistent für Erklärungen und einzelne Codeschnipsel, und Claude Code für abgeschlossene, mehrschrittige Aufgaben mit prüfbarem Ergebnis. In der Praxis ergänzen sich diese Werkzeuge häufig, statt sich gegenseitig zu ersetzen.
Mironsoft
Magento- und Hyvä-Entwicklung mit Claude Code im Alltag
Claude Code sinnvoll in euren Entwicklungsalltag integrieren?
Wir setzen Claude Code produktiv in Magento- und Hyvä-Projekten ein, von CLAUDE.md-Konventionen über Permission-Konfiguration bis zu CI-Integration, und beraten euch, wo der Einsatz echten Mehrwert bringt.
Workflow-Setup
CLAUDE.md, Permission-Regeln und Wrapper-Skripte für euer Projekt einrichten
Sicherheits-Review
Permission-Konfiguration und Hooks für den produktiven Einsatz härten
Team-Enablement
Praxisnahe Schulung für Entwicklerteams im produktiven Einsatz von Claude Code
10. Zusammenfassung
Claude Code ist keine neue KI, sondern eine agentische Ausführungsumgebung um das bestehende Claude-Modell herum, die über Werkzeuge wie Read, Edit, Bash, Grep und Glob direkten Zugriff auf Dateisystem und Terminal erhält. Der zentrale Unterschied zu einem Chat-Assistenten liegt in der geschlossenen Feedback-Schleife: Claude Code führt eine vorgeschlagene Änderung selbst aus, beobachtet das tatsächliche Ergebnis und iteriert eigenständig weiter, statt auf manuelles Copy-Paste angewiesen zu sein. Eine CLAUDE.md-Datei liefert dabei projektspezifischen Kontext, ohne eine harte Sicherheitsgrenze zu ersetzen.
Die tatsächliche Kontrolle über destruktive Aktionen liegt im Permission-System aus Allow- und Deny-Regeln, das jede schreibende Operation standardmäßig bestätigen lässt. Gut geeignet ist Claude Code für Aufgaben mit prüfbarem Erfolgskriterium wie Bugfixes mit begleitendem Test, statische Analyse oder musterbasierte Refactorings über mehrere Dateien. Weniger geeignet ist es für Aufgaben ohne objektives Ergebnis, bei denen menschliches Urteilsvermögen und Architekturentscheidungen im Vordergrund stehen.
Was ist Claude Code - Das Wichtigste auf einen Blick
Was Claude Code ist
Ein agentischer CLI-Assistent mit direktem Zugriff auf Dateisystem und Shell über definierte Werkzeuge.
Unterschied zum Chat
Geschlossene Feedback-Schleife: Änderung ausführen, Ergebnis beobachten, eigenständig iterieren.
Sicherheitsmodell
Permission-System mit Allow-/Deny-Regeln in settings.json, Bestätigung bei schreibenden Aktionen.
Gut geeignet für
Aufgaben mit prüfbarem Erfolgskriterium: Bugfix mit Test, statische Analyse, musterbasiertes Refactoring.