1. Claude Code: Ein KI-Assistent für Entwickler [0]

thumbnail Claude Code ist ein KI-gestützter Assistent, der darauf ausgelegt ist, Entwicklern bei der Erstellung von Features, Funktionen und der Behebung von Fehlern zu helfen, indem er sich nahtlos in bestehende Arbeitsabläufe integriert.

1.1. Erste Schritte und Einrichtung [13]

  1. Installation und Einrichtung [13]
    • Um Claude Code zu nutzen, wird Node.js benötigt.
    • Die Installation ermöglicht es, dem Vortrag praktisch zu folgen.
  2. Grundlegende Funktionen und Vorteile [17]
    • Claude Code ist ein agentischer KI-Assistent, der für die Erstellung ganzer Features, Funktionen und die Behebung von Fehlern konzipiert ist.
    • Er unterscheidet sich von früheren KI-Assistenten, die sich auf die Vervollständigung einzelner Codezeilen konzentrierten.
    • Claude Code arbeitet mit allen gängigen Entwicklungsumgebungen (IDEs) wie VS Code, Xcode und JetBrains IDEs sowie mit Terminals zusammen.
    • Er funktioniert in verschiedenen Umgebungen, einschließlich lokaler Installationen, über Remote-SSH und Tmux.
    • Als Allzweckwerkzeug kann er für vielfältige Aufgaben eingesetzt werden, ohne dass ein bestimmter Arbeitsablauf vorgegeben wird.
  3. Empfohlene erste Schritte zur Umgebungsoptimierung [28]
    • Terminal-Setup: Ermöglicht die Eingabe von Zeilenumbrüchen mit "Shift Enter" anstelle von Backslashes. [29]
    • Themenwechsel: Mit /theme können Sie zwischen hellem, dunklem oder daltonistischen Modus wechseln. [32]
    • GitHub-App-Integration: Mit /install GitHub app kann Claude Code auf GitHub-Issues und Pull-Requests erwähnt werden. [33]
    • Anpassung von Werkzeugen: Sie können die erlaubten Werkzeuge festlegen, um nicht jedes Mal dazu aufgefordert zu werden. [36]
    • Spracheingabe für Prompts: Auf macOS kann die Diktierfunktion aktiviert werden, um Prompts per Spracheingabe zu erstellen, was die Interaktion erleichtert. [39]

1.2. Kernfunktionen und Anwendungsfälle [44]

  1. Code-basierte Fragen und Antworten (Q&A) [44]
    • Dies ist die empfohlene Startmethode, um Claude Code kennenzulernen und die Codebasis zu verstehen. [45]
    • Bei Anthropic wird dies für das technische Onboarding neuer Mitarbeiter genutzt, was die Einarbeitungszeit von Wochen auf Tage reduziert. [46]
    • Datenschutz: Der Code wird lokal gespeichert, nicht hochgeladen oder für das Training generativer Modelle verwendet. [55]
    • Sofortige Nutzung: Da keine Indizierung erforderlich ist, kann Claude Code sofort nach dem Start verwendet werden. [61]
    • Beispiele für Q&A-Anfragen:
      • "Wie wird dieser Code verwendet?" oder "Wie instanziiere ich dieses Objekt?" Claude Code sucht nach Beispielen und liefert tiefere Einblicke als eine einfache Textsuche. [64]
      • Analyse der Git-Historie, um die Entstehung von Funktionen mit vielen Argumenten oder ungewöhnlichen Benennungen zu verstehen. Claude Code durchsucht die Historie, identifiziert Mitwirkende und verknüpfte Issues. [66]
      • Abfragen von GitHub-Issues über die WebFetch-Funktion, um Kontext zu erhalten. [75]
      • Zusammenfassung der eigenen geleisteten Arbeit (z. B. "Was habe ich diese Woche ausgeliefert?"), indem Claude Code den Git-Log analysiert. [76]
    • Lernkurve: Q&A hilft, die Fähigkeiten von Claude Code zu verstehen und wie man effektive Prompts erstellt. [80]
  2. Code-Bearbeitung und Feature-Entwicklung [82]
    • Nachdem die Q&A-Funktionen beherrscht werden, kann mit der Code-Bearbeitung begonnen werden. [81]
    • Claude Code nutzt Werkzeuge wie Dateibearbeitung, Ausführung von Bash-Befehlen und Dateisuche, um Code zu erkunden, Ideen zu entwickeln und Änderungen vorzunehmen. [86]
    • Planung vor der Code-Erstellung: Es wird empfohlen, Claude Code zu bitten, zuerst einen Plan zu erstellen oder Ideen zu brainstormen, bevor mit der Implementierung begonnen wird. [91]
      • Dies verhindert, dass Claude Code etwas implementiert, das nicht den Erwartungen entspricht. [92]
      • Die Aufforderung "Erstelle einen Plan, bevor du Code schreibst" reicht aus, um diesen Prozess zu aktivieren. [94]
    • Automatisierte Git-Workflows: Claude Code kann Befehle wie "commit push PR" interpretieren, um Commits zu erstellen, zu pushen und Pull-Requests auf GitHub zu generieren, ohne dass explizite Anweisungen zur Git-Nutzung erforderlich sind. [96]
  3. Integration von Team-Werkzeugen [103]
    • Die Integration von Team-Werkzeugen ist ein wichtiger Schritt, um das volle Potenzial von Claude Code auszuschöpfen. [103]
    • Bash-Werkzeuge: Claude Code kann mit benutzerdefinierten CLI-Tools interagieren, z. B. mit einem fiktiven barley CLI. [106]
      • Informationen zur Nutzung können über --help abgerufen werden. [111]
      • Diese Werkzeuge können in ClaudeMD gespeichert werden, damit Claude Code sie über Sitzungen hinweg erinnert. [112]
    • MCP-Werkzeuge: Claude Code kann auch mit MCP-Werkzeugen umgehen. [114]
    • Vorteil der Werkzeugintegration: Durch die Bereitstellung aller relevanten Werkzeuge eines Teams kann Claude Code diese nutzen, um Aufgaben im Namen des Entwicklers auszuführen. [116]
    • Iterative Entwicklung mit Feedback-Schleifen:
      • Claude Code kann durch Werkzeuge wie Unit-Tests, Screenshots (Puppeteer, iOS Simulator) oder andere Feedback-Mechanismen seine Arbeit überprüfen und sich selbst verbessern. [118]
      • Dies ermöglicht iterative Verbesserungen, bis ein nahezu perfektes Ergebnis erzielt wird. [120]
    • Nächste Schritte: Werkzeuge lehren und den richtigen Workflow finden. [123]

1.3. Kontextmanagement und erweiterte Konfiguration [124]

  1. Kontextbereitstellung für Claude Code [124]
    • Je mehr Kontext Claude Code erhält, desto intelligenter werden seine Entscheidungen. [125]
    • ClaudeMD-Dateien:
      • Eine spezielle Datei namens ClaudeMD kann im Projekt-Root platziert werden und wird automatisch zu Beginn jeder Sitzung in den Kontext geladen. [128]
      • Lokale ClaudeMD-Dateien sind für den persönlichen Gebrauch bestimmt und werden nicht in die Versionskontrolle eingecheckt. [131]
      • Inhalt von ClaudeMD: Häufig verwendete Bash-Befehle, MCP-Werkzeuge, architektonische Entscheidungen, wichtige Dateien und andere kontextbezogene Informationen. [135]
      • Es ist ratsam, ClaudeMD-Dateien kurz zu halten, um den Kontext nicht unnötig zu belasten. [136]
      • Verschachtelte ClaudeMD-Dateien in Unterverzeichnissen werden bei der Arbeit in diesen Verzeichnissen automatisch geladen. [138]
      • Unternehmensweite ClaudeMD-Dateien können im Enterprise-Root verwaltet werden und werden automatisch für alle Benutzer geladen. [140]
    • Slash-Befehle: Können in /dot/quad/commands im Home-Verzeichnis oder im Projekt gespeichert werden. [144]
      • Beispiel: Ein GitHub-Action-Workflow, der Issues automatisch labelt. [146]
    • Dateien und Ordner hinzufügen: Dateien und Ordner können manuell zum Kontext hinzugefügt werden. [149]
    • Prompt-Verbesserer: Die Verwendung eines Prompt-Verbesserers kann die Leistung erheblich steigern. [151]
    • Hierarchie der Kontextquellen:
      • Projekte: Spezifisch für ein Git-Repository, kann eingecheckt oder lokal gehalten werden. [157]
      • Globale Konfigurationen: Gelten für alle Projekte. [158]
      • Unternehmensrichtlinien: Globale Konfigurationen, die für alle Mitarbeiter eines Unternehmens bereitgestellt werden. [159]
        • Diese Hierarchie gilt für Slash-Befehle, Berechtigungen (z. B. automatische Genehmigung von Befehlen) und das Blockieren bestimmter Befehle (z. B. das Abrufen einer bestimmten URL). [160]
        • MCP-Server können ebenfalls über eine MCP-JSON-Datei konfiguriert werden, die in das Projekt eingecheckt wird. [165]
    • Empfehlung für den Einstieg: Beginnen Sie mit geteiltem Projektkontext, der einmal erstellt und dann im Team geteilt wird. [170]
  2. Verwaltung und Bearbeitung von Kontextdateien [172]
    • /memory Befehl: Zeigt alle geladenen Speicherdateien an (z. B. Unternehmensrichtlinien, Benutzer-Speicher, Projekt-ClaudeMD, verschachtelte ClaudeMDs). [174]
    • Bearbeitung von Speicherdateien: Mit /memory können spezifische Speicherdateien bearbeitet werden. [175]
    • Erinnern von Informationen: Mit dem #-Symbol können Informationen gespeichert werden, die dann automatisch in die entsprechende ClaudeMD-Datei aufgenommen werden. [176]
    • Konfiguration optimieren: Nehmen Sie sich Zeit, ClaudeMD, MCP-Server und andere teamrelevante Werkzeuge zu konfigurieren, um sie einmal einzurichten und mit allen zu teilen. [178]

2. Fortgeschrittene Techniken und Tastenkombinationen [180]

thumbnail

2.1. Nützliche Tastenkombinationen und Befehle [182]

  1. Effiziente Interaktion im Terminal [182]
    • Die Arbeit im Terminal erfordert ein tiefes Verständnis der minimalen Designsprache und der verfügbaren Tastenkombinationen. [183]
  2. Wichtige Tastenkombinationen und ihre Funktionen [186]
    • Shift + Tab: Wechselt in den Modus "Auto-Accept Edits", in dem Code-Änderungen automatisch übernommen werden (Bash-Befehle erfordern weiterhin Zustimmung). [186]
      • Dies ist nützlich, wenn Claude Code auf dem richtigen Weg ist oder Unit-Tests schreibt und iteriert. [188]
    • # (Rautezeichen): Speichert Informationen für Claude Code, die automatisch in ClaudeMD integriert werden. [189]
    • ! (Ausrufezeichen): Ermöglicht das direkte Ausführen von Bash-Befehlen im Terminal. Diese Befehle und ihre Ausgaben werden in das Kontextfenster aufgenommen. [191]
      • Nützlich für lange Befehle oder wenn die Ausgabe im Kontext benötigt wird. [194]
    • Hinzufügen von Dateien und Ordnern: Ermöglicht die Einbeziehung spezifischer Dateien und Ordner in den Kontext. [195]
    • Esc (Escape-Taste): Stoppt die aktuelle Aktion von Claude Code sicher, ohne die Sitzung zu beschädigen. [196]
      • Nach dem Stoppen kann Claude Code angewiesen werden, die Bearbeitung anders vorzunehmen oder eine spezifische Zeile zu ändern. [201]
    • Doppeltes Drücken von Esc: Springt zurück in die Historie. [203]
    • resume oder --continue: Startet Claude Code, um eine frühere Sitzung fortzusetzen. [204]
    • Ctrl + R: Zeigt die gesamte Ausgabe an, die Claude Code im Kontextfenster sieht. [205]

2.2. Claude Code SDK und fortgeschrittene Anwendungsfälle [206]

  1. Das Claude Code SDK [206]
    • Das SDK, zugänglich über das Flag -P, ermöglicht die Erstellung eigener Anwendungen und Tools auf Basis von Claude Code. [209]
    • Es ist dasselbe SDK, das Claude Code intern verwendet. [212]
    • Claude-P CLI: Ein Kommandozeilen-Tool, das Prompts und erlaubte Werkzeuge (einschließlich spezifischer Bash-Befehle) entgegennimmt und die Ausgabe in verschiedenen Formaten (z. B. JSON, Streaming-JSON) liefert. [213]
      • Wird intern für CI, Incident Response und verschiedene Pipelines verwendet. [218]
      • Funktioniert wie ein Unix-Utility: Eingabe eines Prompts, Ausgabe von JSON. [221]
    • Piping und Kombinationen: Das SDK kann mit anderen Unix-Tools kombiniert werden, z. B. durch Piping von git status und Verarbeitung mit jq. [225]
    • Neue Anwendungsbereiche: Das SDK eröffnet neue Möglichkeiten, z. B. das Einlesen großer Log-Dateien aus GCP-Buckets oder das Abrufen von Daten aus dem Sentry CLI zur Analyse durch Claude Code. [229]
  2. Parallele Ausführung und fortgeschrittene Setups [233]
    • Fortgeschrittene Benutzer-Setups: Power-User nutzen oft SSH-Sitzungen, Tmux-Tunnel, mehrere Checkouts desselben Repositories oder Git Worktrees, um Claude Code parallel in verschiedenen Kontexten auszuführen. [234]
    • Parallele Verarbeitung: Es ist möglich, beliebig viele Claude Code-Sitzungen parallel auszuführen, um mehr Arbeit gleichzeitig zu erledigen. [237]

2.3. Multimodalität und Designentscheidungen [241]

  1. Schwierigkeiten bei der Implementierung von Bash-Sicherheit [241]
    • Eine der größten Herausforderungen war die sichere Handhabung von Bash-Befehlen, da Bash von Natur aus gefährlich ist und unerwartete Systemänderungen verursachen kann. [243]
    • Die manuelle Genehmigung jedes Bash-Befehls ist für Entwickler mühsam und beeinträchtigt die Produktivität. [247]
    • Die Lösung beinhaltet statische Analysen zur Identifizierung sicherer Befehlskombinationen und ein komplexes, gestaffeltes Berechtigungssystem zur Zulassung und Sperrung von Befehlen auf verschiedenen Ebenen. [249]
  2. Multimodale Fähigkeiten von Claude Code [251]
    • Claude Code ist von Anfang an vollständig multimodal. [252]
    • Bild-Input: Bilder können per Drag-and-Drop in das Terminal gezogen, über Dateipfade angegeben oder kopiert und eingefügt werden. [254]
    • Anwendungsfall: Ein Mockup kann per Drag-and-Drop hochgeladen und Claude Code angewiesen werden, es zu implementieren, wobei es gegen einen Tier-Server iteriert. [259]
  3. Entscheidung für ein CLI-Tool statt einer IDE [263]
    • Breite IDE-Unterstützung: Anthropic verwendet eine Vielzahl von IDEs, und ein universelles Tool für alle zu entwickeln, war schwierig. Das Terminal ist ein gemeinsamer Nenner. [265]
    • Zukunftssicherheit: Angesichts der rasanten Entwicklung von KI-Modellen wird erwartet, dass IDEs in Zukunft möglicherweise weniger relevant werden. Ein CLI-Ansatz vermeidet eine Überinvestition in UI-Schichten, die möglicherweise bald obsolet sind. [266]
    • Nutzung für maschinelles Lernen: Claude Code wird auch intensiv für maschinelles Lernen und Modellierung eingesetzt, einschließlich der Bearbeitung und Ausführung von Notebooks durch Forscher und Entwickler. [269]