CI/CD
Der vollständige Ablauf von GitHub Issue bis zu committed Code — ohne lokalen PC.
Jemand öffnet ein Issue im Repository und versieht es mit dem Label ai-run. Ohne dieses Label passiert nichts — das ist der Sicherheits-Gate.
.github/workflows/ai-agent-loop.yml Das issues: labeled-Event feuert. GitHub prüft den Job-Filter if: github.event.label.name == 'ai-run' — nur dann startet der Runner auf ubuntu-latest.
Repositories auschecken actions/checkout@v4 Zuerst wird test-website ausgecheckt. Danach git submodule update --init --recursive — das lädt die Agenten-Definitionen aus dem ai-agents Repository in .claude/agents/. Schlägt das Submodule fehl, läuft der Workflow trotzdem weiter (continue-on-error).
npm install -g @anthropic-ai/claude-code Die Claude Code CLI wird global installiert. Die Authentifizierung läuft über ANTHROPIC_API_KEY — ein API-Key aus den GitHub Secrets, kein Session-Token. API-Keys sind stabil; Session-Tokens laufen ab.
GITHUB_OUTPUT Der Issue-Titel und -Body werden als strukturierter Prompt aufgebaut. Falls orchestrator.md vorhanden ist, wird sie vorangestellt: "Lies die Instruktionen aus orchestrator.md. Löse dann folgende Aufgabe: [Issue-Titel]". Ohne Submodule: nur der rohe Issue-Text.
claude --print "..." Das --print-Flag lässt Claude ohne STDIN laufen — er arbeitet den Prompt ab und beendet sich danach. Kein manuelles Eingreifen möglich. Alle Datei-Schreiboperationen landen direkt im ausgecheckten Workspace. Timeout: 30 Minuten.
git commit + git push Nach Claude's Ausführung prüft git diff --staged --quiet ob Änderungen vorhanden sind. Falls ja: Commit als AI-Agent-Worker mit dem Issue-Titel als Message, dann Push. Falls keine Änderungen: kein Commit, kein Leerrauschen in der Git-History.
actions/github-script@v7 Das Issue erhält automatisch einen Kommentar mit Bestätigung und der Run-ID, damit der Autor den Workflow-Log direkt verlinken kann. Logs werden zusätzlich als Artifact für 14 Tage gespeichert.|