Tutorial · v0.52.7 · ~45 Minuten

Vom Entwurf zum bestandenen Quality Gate.

Dieses Tutorial zeigt dir den vollstĂ€ndigen SDLC-Loop der Plattform gegen den echten Claude-Code-Adapter — vom ausfĂŒhrlichen Assistenten ĂŒber Plan-Lauf, Backlog, Build, Selbstkorrektur und Quality Gate bis zum Pull-Request. Plane etwa 45 Minuten ein. Die Einrichtung (Abo oder API-SchlĂŒssel, Lizenz) steht unter Echte LĂ€ufe einrichten; ohne Installation fang mit dem Schnellstart an.

~45 Min echter Claude-Code-Adapter Plan → Build → Review → PR

Voraussetzungen

  • Echte LĂ€ufe eingerichtet: Die Fabrik lĂ€uft nativ aus dem Startpaket, Claude Code ist als Agent angebunden (Abo oder API-SchlĂŒssel) und eine Lizenz ist geholt. Wie das geht, steht unter Echte LĂ€ufe einrichten; die Container-Sandbox ist dort optional beschrieben.
  • JDK 25 lokal installiert: der Workspace-Build (mvn verify) braucht ein lokales JDK. PrĂŒfe mit java -version — oder lass es unter Einrichtung → Werkzeuge installieren.
  • Maven (≄ 3.9): prĂŒfe mit mvn -v. Alternativ kann der Wrapper ./mvnw aus dem generierten Workspace genutzt werden.

Neu hier? Dann spiel zuerst den Schnellstart mit dem Mock durch.

1. Neues Projekt mit dem Wizard

FĂŒr dieses Tutorial legst du Stack und PrĂŒfwerkzeuge selbst fest. Klick unter Projekte auf "AusfĂŒhrlicher Assistent" (oder öffne /wizard und klick "Neuen Assistenten starten"). Der kurze Weg ohne diese Details ist "Neues Projekt" → Schnellstart (Name, Art, Beschreibung, siehe Schnellstart).

  1. Schritt 1 – Zielplattform: Web.
  2. Schritt 2 – Backend: wĂ€hle "Modernes Spring Boot Backend".
  3. Schritt 3 – Frontend(s): keins (reine API).
  4. Schritt 4 – Fragen: Trage realistische Werte ein:
    • Projekttitel: Telefonbuch-API
    • Vision: "REST-API fĂŒr ein einfaches Telefonbuch mit CRUD-Endpoints und Postgres-Persistenz."
    • Java-Version: 25
    • Basis-Paketname: io.beispiel.telefonbuch
    • Datenbank: PostgreSQL
    • Architektur: hexagonal
    • Sprache: Deutsch
  5. Schritt 5 – Quality-Gates: Schalte ArchUnit und OWASP Dependency-Check an. Trivy lass aus (Trivy ist fĂŒr Container-Builds gedacht; Playwright erscheint nur mit einem Frontend).
  6. Schritt 6 – Zusammenfassung: kontrolliere alle Werte sowie die Kosten-SchĂ€tzung und klicke "Projekt anlegen und bearbeiten".

Du landest im Projekt-Editor mit allen Feldern bereits sinnvoll vorbelegt. Der Wizard hat aus deinen Antworten u.a. Folgendes gemacht:

  • technologyPreferences: "Template: Modernes Spring Boot Backend. Spring Boot <Version>. Java 25."
  • architecturePreferences: "Datenbank: PostgreSQL. Architektur-Stil: hexagonal. Basis-Paket: io.beispiel.telefonbuch."
  • nonfunctionalRequirements: "Aktivierte Quality-Gates: 
" (ArchUnit, OWASP Dependency-Check)
Drafts ĂŒberleben Restart: Wenn dein Browser abstĂŒrzt oder du die Plattform neu startest, ist dein Wizard-Fortschritt unter wizard_draft gespeichert. Beim nĂ€chsten Aufruf von /wizard bietet die Plattform "Entwurf fortsetzen" an.

2. Artefakte prĂŒfen und justieren

Speichere im Projekt-Editor und klick auf der Projektseite unter "Technische Einstellungen" (in „Einfach“ eingeklappt) auf "Markdown-Artefakte generieren". Die Plattform erzeugt sechs Dateien (anzusehen und zu bearbeiten unter "Artefakte anzeigen"). Lies sie einmal durch:

  1. PROJECT.md — die Charta. Ist die Vision klar? Stimmt die Zielgruppe?
  2. INSTRUCTIONS.md — die konkrete Arbeitsanweisung an den Agenten. Das ist die wichtigste Datei. Wenn hier Tippfehler oder Doppeldeutigkeiten drin sind, ĂŒbernimmt der Agent sie eins zu eins.
  3. AGENTS.md — die Rollenbeschreibung des Teams, im Workspace mit den Engineering-Guardrails davor.
  4. WORKFLOW.md — Phasenmodell und Approval-Punkte.
  5. DEFINITION_OF_DONE.md — wann ist der Lauf fertig?
  6. README.md — Lese-Einstieg fĂŒr den Agenten in den Workspace.

Korrigiere alles, was unklar ist. Beispiel: Wenn in INSTRUCTIONS.md steht "erstelle CRUD-Endpoints", ergĂ€nze konkret, welche Felder eine Person hat (Name, Telefonnummer, E-Mail). Je prĂ€ziser, desto kleiner die Wahrscheinlichkeit fĂŒr Halluzinationen.

Tipp: Stelle dir vor, du ĂŒbergibst den Auftrag an einen externen Entwickler, den du nur per Dokument briefst. Lass keine impliziten Annahmen drin.

Der vollstĂ€ndige SDLC-Loop im Überblick

Ab hier spielst du den kanonischen Loop der Plattform einmal komplett durch. Er besteht aus acht Stationen, die sich am Ende selbst schließen:

  1. Planen — ein Plan-Lauf erzeugt plans/*.md und daraus ein Backlog.
  2. AuswĂ€hlen — du aktivierst ein Backlog-Item.
  3. Bauen — ein Build-Lauf arbeitet auf einem eigenen Branch (sdlc/run-
) im persistenten Workspace.
  4. Selbstkorrektur — bei rotem Build wiederholt der Agent automatisch mit Feedback (begrenzt).
  5. Quality Gate — aus, beratend oder blockierend.
  6. Liefern — mit Git-Remote und GitHub-Token: Push + Pull-Request, sonst lokaler Merge.
  7. Lernen — Erkenntnisse landen im Project-Memory und fließen in Folge-LĂ€ufe ein.
  8. Weiter — optionale Auto-FolgevorschlĂ€ge schließen den Loop zurĂŒck zur Auswahl.

Die Schritte 3 bis 12 fĂŒhren dich genau durch diese acht Stationen.

3. Planen – Plan-Lauf erzeugt das Backlog

Statt sofort Code zu erzeugen, lĂ€sst du den Agenten zuerst planen. Öffne im Projekt "Backlog / PlĂ€ne" (Projektseite, unter "Technische Einstellungen"):

  1. Fokus (optional): z.B. Skelett, Persistenz, CRUD-Endpoints, Tests, Doku — kleine, einzeln testbare Pakete.
  2. Klick "Plan-Lauf starten". Die Fabrik legt den Plan-Lauf an und startet ihn sofort; den Planungsauftrag formuliert sie selbst.
  3. Vor EXECUTION gibst du ihn auf der Laufseite mit "Freigeben und fortsetzen" frei (siehe Schritt 6).

Ein Plan-Lauf schreibt keinen Produktivcode. Er legt im Workspace unter plans/ Markdown-Dateien (plans/NNNN-*.md) an — eine pro Arbeitspaket. Nach dem Lauf indexiert die Plattform sie als Backlog-Items im Status PROPOSED.

Warum erst planen? Der Plan-Lauf ist billig (wenig Tokens, kein Build) und gibt dir eine ĂŒberprĂŒfbare Zerlegung, bevor teure Build-LĂ€ufe starten. Du kannst die plans/*.md vor dem Bauen noch von Hand schĂ€rfen.

4. AuswĂ€hlen – Backlog-Item aktivieren

Öffne "Backlog / PlĂ€ne" im Projekt. Du siehst die aus dem Plan-Lauf erzeugten Items, jeweils mit Titel und Status. Such dir das erste, kleinste Paket aus — typischerweise "Skelett anlegen" — und klick "Aktivieren".

"Aktivieren" legt sofort einen Build-Lauf an, dessen Ziel der Plan ist, und startet ihn. Ein Item wird erst DONE, wenn sein Build-Lauf tatsÀchlich gemerged ist; so liest du den Fortschritt jederzeit am Backlog ab. AbhÀngigkeiten zwischen Items pflegst du mit "+ Blocker".

5. Bauen – Build-Lauf auf eigenem Branch

Das aktivierte Backlog-Item hat bereits einen Build-Lauf gestartet. Alternativ legst du einen Build-Lauf von Hand an — halte ihn klein. Navigiere zu /runs/new (oder auf der Projektseite in „Experte“ "Lauf mit allen Optionen anlegen"; das Projekt ist dann vorbelegt). Der kurze Weg ist "NĂ€chster Auftrag" auf der Projektseite: Auftrag eintragen, "Bauen":

  1. Projekt: Telefonbuch-API.
  2. Titel des Laufs: Skelett anlegen (leer gelassen nimmt die Fabrik die erste Zeile des Auftrags)
  3. Auftrag: ein konkreter Vorschlag wie dieser:
    Lege das initiale Maven-Projekt mit Spring Boot 4.x an.
    Erzeuge:
    - pom.xml mit spring-boot-starter-web, spring-boot-starter-data-jpa, postgresql, h2 (test)
    - Application-Klasse mit @SpringBootApplication
    - application.yml mit Postgres-Config (lokal) und H2 (test-Profil)
    - ein einfaches Person-Entity mit id, name, phone
    - ein PersonRepository als Spring Data JPA Repository
    - einen REST-Controller mit GET /persons (return all)
    - Smoke-Test mit @SpringBootTest, der den Context lÀdt
    - README mit "wie starte ich das" und "wie teste ich das"
  4. KI-Werkzeug (Adapter): claude (Default aus den Einstellungen). Das Modell kommt aus der Agentenrolle im Team bzw. dem Rollen-Default.
  5. Klick "Bauen" — der Lauf wird angelegt und startet sofort. ("Nur anlegen" legt ihn als Entwurf an; dann startest du ihn auf der Laufseite mit "Lauf starten".)

Der Build-Lauf arbeitet im persistenten Workspace des Projekts und legt fĂŒr seine Änderungen einen eigenen Branch sdlc/run-<id8> an (die ersten acht Zeichen der Lauf-ID). So bleibt main sauber, und jeder Lauf ist als abgegrenzte Branch-Historie nachvollziehbar. Pro Projekt lĂ€uft dabei immer nur ein Lauf gleichzeitig.

6. Phasen-Approvals durchklicken

WĂ€hrend der Lauf arbeitet, durchlĂ€uft er sieben Phasen. Bei kritischen ÜbergĂ€ngen wartet die Plattform auf deine bewusste Freigabe:

PhaseWas passiertApproval?
INTAKELauf wird validiert (Projekt, Ziel, Adapter, Budget) und ĂŒbernommen.Nein, lĂ€uft automatisch.
PROMPT_ASSEMBLYPlattform liest PROJECT.md + INSTRUCTIONS.md und baut den Initial-Prompt.Nein, automatisch.
WORKSPACE_PREPARATIONPersistenten Workspace öffnen (bzw. beim ersten Lauf git init + Artefakte hineinkopieren), Branch sdlc/run-<id8> auschecken.Nein, automatisch.
EXECUTIONPlattform startet claude --print <prompt> im Workspace. Der Agent schreibt Dateien; committen tut die Fabrik selbst.Ja (Leitplanken-Stufe Ausgewogen oder Vorsichtig, Freigabe „vor der AusfĂŒhrung“; Standard). Du klickst "Freigeben und fortsetzen", bevor der Agent loslegt.
VALIDATIONPlattform startet mvn verify im Workspace. Build und Tests laufen.Nein, automatisch.
CORRECTIONBei rotem Build erhĂ€lt der Agent einen Korrektur-Prompt und versucht, Build/Tests zu reparieren. Bei grĂŒnem Build ĂŒbersprungen.Nein, automatisch (höchstens zwei Versuche).
COMPLETIONBei grĂŒnem Build: Merge bzw. Pull-Request, Status COMPLETED. Bei rotem Build nach den Korrekturversuchen: NEEDS_CORRECTION.StandardmĂ€ĂŸig nein. Eine Freigabe vor dem Merge (Phase VALIDATION) gibt es, wenn auf der Seite Leitplanken die Option „vor dem Merge“ gewĂ€hlt ist, eine Freigabe-Policy oder Policy-as-Code sie verlangt — oder wenn das Build-Gate „nicht geprĂŒft“ meldet.

Die Knöpfe stehen auf der Laufseite unter Aktionen (nur die, die im aktuellen Stand gehen; der Kasten "Was jetzt?" nennt den nĂ€chsten Schritt): "Freigeben und fortsetzen" (optional mit BegrĂŒndung) oder "Abbrechen" mit Grund — dann steht der Lauf auf Abgebrochen (CANCELLED). Browser-Notifications kannst du unten rechts auf der Laufseite aktivieren; sie feuern bei WAITING_FOR_APPROVAL oder Lauf-Ende.

7. Logs lesen, Git-Diff anschauen, Approval mit Inline-Diff

WÀhrend der EXECUTION-Phase strömen die Claude-Code-Outputs live in die Log-Ansicht ("Logs anzeigen"). Achte zum Beispiel auf:

  • "Reading PROJECT.md..." — Agent hat die Charta gelesen.
  • "Reading INSTRUCTIONS.md..." — Agent hat die Anweisungen gelesen.
  • "Creating pom.xml..." — Erste Datei wird geschrieben.
  • "Starte automatische Korrektur (Versuch 1/2)" — der Build war rot, die Fabrik speist das Feedback ein (siehe Schritt 8).

Unter "Git-Status" siehst du Branch, HEAD, Working Tree und die letzten Commits. Die Commits erstellt die Fabrik selbst (der Agent darf nicht committen).

Bei WAITING_FOR_APPROVAL blendet die Detail-View den git diff seit Lauf-Start direkt ein — kein Wechsel ins Terminal nötig. Wenn es passt: Freigeben und fortsetzen mit kurzer BegrĂŒndung.

Live-Streaming via SSE: Die Logs nutzen Server-Sent Events. Wenn die Verbindung kurz wegbricht (z.B. WLAN-Wechsel), verbindet sich der Browser nach 5 Sekunden automatisch neu. Ein Heartbeat alle 20 Sekunden hÀlt die Verbindung hinter Proxys offen.

8. Selbstkorrektur – automatische Feedback-Wiederholung

Geht der Build in der VALIDATION-Phase auf Rot (Kompilierfehler, fehlgeschlagene Tests), bricht der Lauf nicht ab. Stattdessen wechselt er auf NEEDS_CORRECTION, und die Plattform startet die Selbstkorrektur:

  1. Die Plattform sammelt die Fehlerausgabe von mvn verify (Compiler- und Test-Logs).
  2. Sie baut daraus einen Korrektur-Prompt und schickt ihn an den Agenten — der Lauf geht zurĂŒck auf RUNNING.
  3. Der Agent repariert im selben Branch, danach lÀuft mvn verify erneut.

Diese Schleife ist begrenzt: nach zwei automatischen Korrekturversuchen gibt die Plattform auf und lÀsst den Lauf auf NEEDS_CORRECTION stehen, damit du eingreifst. So verbrennt eine hartnÀckig rote Aufgabe nicht endlos Tokens.

Im Log sichtbar: Jeder Korrekturversuch erscheint als eigener Abschnitt ("Starte automatische Korrektur (Versuch 1/2)") samt dem Fehler, den der Agent reparieren soll. So siehst du, ob sich der Build von Versuch zu Versuch der grĂŒnen Linie nĂ€hert.

9. Quality Gate – aus, beratend oder blockierend

Nach erfolgreichem Build lĂ€uft das Quality Gate automatisch als Teil der Pipeline (Modus advisory, Default). Auf der Laufseite unter "Quality-Gate" siehst du das Ergebnis oder stĂ¶ĂŸt es mit "Quality-Gate ausfĂŒhren" erneut an. Es ruft sechs Reviewer auf (bei gebundener, freigegebener Spec zusĂ€tzlich spec-conformance):

  • aider-review — ruft die Aider-CLI im read-only-Modus auf, sucht nach Smells.
  • dependency-scan — Trivy-Scan auf CVEs und LizenzverstĂ¶ĂŸe in AbhĂ€ngigkeiten.
  • claude-review — ruft Claude Code im read-only-Modus auf, lĂ€sst das Modell selbst kritisieren.
  • security-reviewer — statische Heuristik: Hardcoded Passwörter, schwache Krypto, SQL-Injection-Patterns, …
  • architecture-reviewer — prĂŒft Schichten- und Modulgrenzen anhand der Artefakte.
  • hallucination-reviewer — sucht erfundene Methoden, Pakete oder API-Aufrufe.

Pro Reviewer siehst du Findings mit Severity (LOW / MEDIUM / HIGH / CRITICAL) und Confidence-Score. Das aggregierte Verdict ist eines von:

PASSED WARNING FAILED SKIPPED ERROR

Wie der Quality Gate wirkt, steuerst du ĂŒber den Modus (Seite Leitplanken, /leitplanken: Stufe Ausgewogen = advisory, Vorsichtig = blocking; in „Experte“ als Einzelwert; ĂŒber Policy-as-Code ĂŒbersteuerbar):

  • off: der Quality Gate lĂ€uft gar nicht; der Lauf gilt allein nach grĂŒnem Build als fertig.
  • advisory (Default): die Reviewer laufen und melden Findings, blockieren aber nichts — ein FAILED-Verdict ist nur ein Hinweis. Gut zum Einstieg.
  • blocking: ein FAILED- oder ERROR-Verdict erzeugt Feedback und startet die Korrekturschleife; geliefert wird erst nach bestandenem Gate.

Die Policy bestimmt die SchĂ€rfe: lenient (Default) blockiert nur CRITICAL, strict blockiert HIGH und CRITICAL und verlangt Security- und Architektur-Review. UnabhĂ€ngig davon sind SECURITY/HIGH, SECURITY/CRITICAL und ARCHITECTURE/CRITICAL immer blockierend. Reviewer-Crashes erscheinen als ERROR — sie werden nicht verschluckt; eine fehlende Reviewer-CLI ergibt SKIPPED.

Typische Findings beim ersten Lauf:

  • "Hardcoded password in application.yml" — der Agent hat ein Default-Postgres-Passwort eingebaut. Fix: Property mit ${POSTGRES_PASSWORD} referenzieren.
  • "Missing test coverage" — der Smoke-Test deckt nur den Context-Load ab. Fix: Folge-Lauf mit Ziel "Tests schreiben".

10. Liefern – Push + Pull-Request oder lokaler Merge

Ist der Build grĂŒn (und im Modus blocking auch das Quality Gate), liefert die Fabrik das Ergebnis automatisch aus. Was dabei passiert, hĂ€ngt davon ab, ob du ein Git-Remote samt GitHub-Token hinterlegt hast.

Variante A: mit Git-Remote + GitHub-Token → Pull-Request

  1. Hinterlege unter /integrations auf der Karte GitHub ein Personal Access Token (Scope repo) und auf der Projektseite das Git-Remote (Push & PR) (z.B. git@github.com:dein-user/telefonbuch-api.git; der Host muss in SOFTWAREFABRIK_GIT_ALLOWED_HOSTS stehen, Default github.com).
  2. Der nĂ€chste erfolgreiche Build-Lauf pusht seinen Branch sdlc/run-<id8> zum Remote und öffnet einen Pull-Request gegen den Base-Branch — ohne weiteren Klick.
  3. Du reviewst den PR auf GitHub wie jeden anderen und mergst ihn dort.

Variante B: ohne Remote → lokaler Merge

Ohne Remote oder Token fĂ€llt die Plattform auf einen lokalen Merge zurĂŒck: der Branch sdlc/run-<id8> wird im persistenten Workspace nach main gemergt. Das Ergebnis liegt dann lokal vor, und du kannst es spĂ€ter selbst pushen (siehe Schritt 13).

Branch-Hygiene: Weil jeder Lauf auf sdlc/run-
 arbeitet, ist die Lieferung der einzige Punkt, an dem etwas in main landet — entweder per PR (ĂŒberprĂŒfbar) oder per lokalem Merge.

11. Lernen – Project-Memory

Das Project-Memory hĂ€lt Entscheidungen, Konventionen und Learnings fest. Du pflegst es im Projekt unter "Memory"; aktualisiert ein Agent die Datei MEMORY.md im Workspace, ĂŒbernimmt die Fabrik das nach dem Lauf zurĂŒck.

Vor jedem Lauf spiegelt die Plattform das Memory als MEMORY.md in den Workspace, und der Lauf-Auftrag nennt die Datei ausdrĂŒcklich. So wiederholt der Agent nicht dieselben Fehler, bleibt bei einmal gewĂ€hlten Mustern (z.B. "Passwörter immer als Env-Var, nie hardcoded") und baut auf dem bereits Erreichten auf, statt bei null anzufangen.

12. Weiter – Auto-FolgevorschlĂ€ge schließen den Loop

Ein Mega-Lauf, der alles auf einmal macht, geht in der Praxis selten gut. Viel besser: kleine, fokussierte Folge-LĂ€ufe. Genau dafĂŒr gibt es die Auto-FolgevorschlĂ€ge (Einrichtung → Einstellungen, unter "Erweitert" → LĂ€ufe → "Auto-FolgevorschlĂ€ge nach Build-Lauf", Default aus): Nach jedem erfolgreichen Build-Lauf startet die Fabrik automatisch einen Plan-Lauf, der die nĂ€chsten Schritte als plans/*.md ins Backlog legt. Mögliche VorschlĂ€ge:

  1. Vorschlag: "Schreibe Unit-Tests fĂŒr PersonRepository und PersonController, decke alle CRUD-Operationen ab. Ziel: ≄ 85 % Line-Coverage."
  2. Vorschlag: "Behebe das Quality-Gate-Finding 'Hardcoded password' und ersetze den Wert durch eine Env-Var-Referenz in application.yml."
  3. Vorschlag: "ErgÀnze README.md um eine Sektion 'Deployment' mit docker-compose-Beispiel und eine Sektion 'API-Beispiele' mit curl-Aufrufen pro Endpoint."

Die VorschlĂ€ge erscheinen im Backlog (Status PROPOSED) — und du stehst wieder bei Schritt 4 (AuswĂ€hlen). Damit schließt sich der Loop: planen → auswĂ€hlen → bauen → korrigieren → prĂŒfen → liefern → lernen → weiter. Jeder Durchlauf nutzt denselben persistenten Workspace und das gewachsene Project-Memory.

13. Workspace inspizieren & exportieren

Der Workspace gehört dem Projekt und liegt unter ./workspaces/<projekt-slug>/workspace/ (bzw. unter dem in den Settings konfigurierten Workspace-Wurzelpfad). Wechsle dorthin und schau dir an, was der Agent gebaut hat:

cd ./workspaces/<projekt-slug>/workspace
ls -la
git branch -a
git log --oneline -20
git diff HEAD~5 HEAD

Du kannst von hier aus weiterarbeiten — eigene Commits machen, in einen Remote pushen, branchen, mergen. Die Plattform fasst diesen Workspace nicht mehr an, solange du nicht einen weiteren Lauf startest.

Hast du in Schritt 10 lokal gemergt (Variante B), kannst du das Ergebnis jederzeit von Hand exportieren:

# in ein neues GitHub-Repo schieben:
cd ./workspaces/<projekt-slug>/workspace
git remote add origin git@github.com:dein-user/telefonbuch-api.git
git push -u origin main

Tipps fĂŒr gute Prompts und Lauf-Ziele

  • Konkret statt allgemein. "CRUD fĂŒr Person" ist schwach. "GET /persons (Liste), GET /persons/{id} (Detail), POST /persons (anlegen mit Body {name, phone}), PUT /persons/{id}, DELETE /persons/{id}" ist stark.
  • Definition of Done formulieren. "Build muss grĂŒn sein", "Tests mĂŒssen ≄ 85 % Line- und ≄ 81 % Branch-Coverage haben", "README muss API-Beispiele enthalten". Das macht den Quality Gate erst sinnvoll.
  • Beispieldaten mitgeben. Wenn der Agent eine Migration schreiben soll, gib ein Beispiel mit: "Beispiel-Person: Max Mustermann, +49 30 12345678, max@example.org". Das verhindert generische Lorem-Ipsum-Daten.
  • Was NICHT zu tun ist auch sagen. "Verwende keine externen Libraries außer Spring Boot Starters" verhindert, dass der Agent eine exotische Lib einbaut, die du dann nicht warten willst.
  • Iterativ denken. Lieber drei LĂ€ufe Ă  10 Minuten als ein Lauf Ă  30 Minuten. Du kannst dazwischen korrigieren.

Wenn was schiefgeht – Debug-Strategien

SymptomUrsacheLösung
claude: command not foundPlattform findet die CLI nicht im PATH.Setze die Env-Var SOFTWAREFABRIK_CLAUDECODE_COMMAND auf den absoluten Pfad, z.B. /usr/local/bin/claude (Linux/macOS) oder C:\Users\<user>\AppData\Local\claude\claude.exe (Windows), und starte die Fabrik neu.
Lauf hĂ€ngt in EXECUTIONClaude wartet auf interaktive Eingabe (z.B. weil Login nötig).Logs prĂŒfen. Meist hilft: einmal manuell claude im Terminal starten und dort einloggen.
mvn verify scheitert sofortAgent hat kein Maven-Projekt erzeugt oder eine wirre pom.xml.Im Workspace per Hand reinschauen, Fehler verstehen, Folge-Lauf mit Korrektur-Ziel.
Quality Gate sagt ERROREin Reviewer ist abgestĂŒrzt, lief in einen Timeout oder lieferte unlesbare Ausgabe — oder eine Pflichtvorgabe der Policy ist nicht erfĂŒllt. (Eine fehlende CLI wie aider ergibt nur SKIPPED.)Im Quality-Gate-Detail siehst du pro Reviewer den Fehler. Beim manuellen Lauf kannst du einzelne Reviewer abwĂ€hlen.
Kein Pull-Request, nur lokaler MergeKein GitHub-Token oder kein Git-Remote hinterlegt.Unter Integrationen ein PAT (Scope repo) setzen und im Projekt das Git-Remote eintragen; der nÀchste erfolgreiche Build-Lauf öffnet dann einen PR.
Backlog bleibt leer nach Plan-LaufDer Agent hat keine Dateien nach plans/ geschrieben.Ziel des Plan-Laufs schÀrfen (explizit "schreibe je eine Datei nach plans/") oder die plans/*.md von Hand anlegen; die Plattform indexiert neue PlÀne am Ende des nÀchsten Plan-Laufs.
"Monatsbudget des Projekts ĂŒberschritten"FĂŒr das Projekt ist unter Auswertung → Budget ein Monatsbudget (EUR) mit Durchsetzung aktiv.Budget erhöhen, Durchsetzung abschalten oder den neuen Monat abwarten.
Start abgelehnt: "FĂŒr diesen Workspace ist bereits ein Lauf aktiv."Ein anderer Lauf des Projekts ist noch aktiv (z.B. wartet er in WAITING_FOR_APPROVAL).Den anderen Lauf freigeben, abschließen lassen oder abbrechen, dann erneut starten.

Was du jetzt kannst & weitere Schritte

  • Projekt strukturiert anlegen, beschreiben, in den Lauf schicken.
  • Mit einem Plan-Lauf ein Backlog erzeugen und Items aktivieren.
  • Build-LĂ€ufe auf eigenem Branch laufen lassen und live mitverfolgen.
  • Vor Approval prĂŒfen, was der Agent geĂ€ndert hat.
  • Selbstkorrektur bei rotem Build nutzen und den Quality Gate (aus/beratend/blockierend) anwenden.
  • Ergebnisse per Pull-Request oder lokalem Merge ausliefern.
  • Aus Project-Memory und Auto-FolgevorschlĂ€gen den Loop schließen.

NĂ€chste Schritte: Begriffe und Hilfe fĂŒr Glossar und mentales Modell, Architektur fĂŒr den Unterbau, Preise fĂŒr Stufen und Grenzen, oder die FAQ fĂŒr typische Stolperfallen.