Diese Seite bringt dich in zehn Minuten von "Repo geklont" zu "erster Run abgeschlossen". Sie ist bewusst Klick-fĂĽr-Klick und nimmt nichts als bekannt voraus. Wenn du tiefer einsteigen willst, sieh dir danach die EinfĂĽhrung oder den Tutorial an.
Du brauchst nur drei Dinge auf deinem System:
docker --version und docker compose version.claudecode nutzt, brauchst du die jeweilige CLI lokal (siehe Tutorial). FĂĽr den Mock-Adapter brauchst du nichts weiter.Ă–ffne ein Terminal und klone das Plattform-Repo. Wechsle ins Verzeichnis:
git clone https://github.com/janda-io/SoftwareFabrik.git cd SoftwareFabrik
Im Repo-Root findest du die docker-compose.yml (definiert die Container fĂĽr App und Postgres), die app/-Verzeichnis (Spring-Boot-Quellcode) und die html/-Verzeichnis mit dieser Doku.
.env-Datei anlegenDie Plattform liest beim Start eine .env-Datei mit Pflicht-Variablen. Die Datei liegt direkt im Repo-Root (./SoftwareFabrik/.env) und ist nicht in Git eingecheckt — sie enthält Geheimnisse, die nicht ins Repository gehören.
Lege die Datei mit folgendem Inhalt an. Ersetze die Beispielwerte durch eigene starke Geheimnisse:
# Bootstrap-Admin (Login-Account beim ersten Start) SOFTWAREFABRIK_ADMIN_USER=admin SOFTWAREFABRIK_ADMIN_PASSWORD=ChangeMe-2026! # Datenbank-Passwort (fĂĽr Postgres im Container) SOFTWAREFABRIK_DB_PASSWORD=DbSecret-2026! # Master-Key fĂĽr die VerschlĂĽsselung von API-Keys (32 Byte, Base64) SOFTWAREFABRIK_SECRETS_MASTER_KEY=<hier deinen Key einsetzen>
Den Master-Key generierst du mit einem Einzeiler. Auf Linux/macOS:
openssl rand -base64 48
Auf Windows (PowerShell):
[Convert]::ToBase64String((1..48 | ForEach-Object { Get-Random -Maximum 256 }))
SOFTWAREFABRIK_ADMIN_PASSWORD weglässt, wird absichtlich kein Bootstrap-Admin angelegt — du kannst dich dann nicht einloggen. Schwache Defaults wie admin/admin wären ein Sicherheitsbug, deshalb verlangen wir hier ein bewusst gesetztes Passwort. Den Master-Key später zu ändern bedeutet, dass alle bisher gespeicherten API-Keys nicht mehr entschlüsselt werden — also einmal gut wählen und dann lassen.Starte die Container im Hintergrund:
docker compose up -d
Beim ersten Lauf werden die Images gezogen und die App gebaut — das dauert ca. 2–4 Minuten. Den Fortschritt siehst du mit docker compose logs -f app. Sobald die Logs Started Application in ... melden, ist die Plattform bereit.
Du kannst auch den Healthcheck pollen:
curl -f http://localhost:8080/actuator/health
# erwartet: {"status":"UP"}
Ă–ffne nun den Browser auf http://localhost:8080.
Du landest auf der Login-Seite. Nutze die Credentials aus deiner .env:
admin (oder was du in SOFTWAREFABRIK_ADMIN_USER gesetzt hast)ChangeMe-2026! (oder dein eigener Wert)Nach erfolgreichem Login landest du auf dem Dashboard mit Kennzahlen-Kacheln (alle stehen auf 0, was bei einer frischen Instanz richtig ist), der Liste deiner letzten Projekte und der letzten Runs.
docker compose logs app | grep -i admin — meist fehlt die Env-Variable.Klick im Dashboard auf "Neues Projekt mit Assistent anlegen" oder navigiere direkt zu /wizard. Der Wizard hat vier Schritte:
Du landest jetzt im Projekt-Editor unter /projects/<id>/edit mit allen Feldern bereits befĂĽllt. Klick auf "Markdown-Artefakte generieren", damit die Plattform die sechs Spezifikationsdateien (PROJECT.md, INSTRUCTIONS.md, AGENTS.md, WORKFLOW.md, DEFINITION_OF_DONE.md, README.md) erzeugt.
Klicke im Projekt-Editor auf "Neuer Run". Auf der Run-Anlageseite:
Der Run ist jetzt im Status DRAFT. Klick auf "Auf READY setzen", dann auf "Run starten". Du landest auf der Run-Detail-Seite und siehst:
RUNNING ĂĽber die einzelnen Phasen (PROMPT_ASSEMBLY, WORKSPACE_PREPARATION, EXECUTION, VALIDATION, COMPLETION) zum Endstand COMPLETED.Nachdem der Run auf COMPLETED steht, klicke auf den Reiter "Quality Gate" (oder unten auf den Knopf "Quality Gate ausfĂĽhren"). Die Plattform startet die Reviewer und zeigt das Verdict:
Pro Reviewer siehst du die Findings mit Severity, Confidence-Score und Erklärungstext. Im Schnellstart mit Mock-Adapter sollte typischerweise PASSED herauskommen — die Mock-Outputs sind so gebaut, dass sie keine echten Verstöße produzieren.
Wenn du die Plattform stoppen willst, ohne die Daten zu verlieren:
docker compose down
Dabei bleiben die Postgres-Daten im Docker-Volume erhalten. Beim nächsten docker compose up -d sind dein Account, deine Projekte und Runs wieder da.
Wenn du wirklich alles löschen willst (DB, Workspaces, Logs):
docker compose down -v rm -rf ./workspaces
-v-Flag löscht alle Docker-Volumes, also auch deine Datenbank. Mach das nur, wenn du wirklich neu anfangen willst.Setze in der .env die Variable SOFTWAREFABRIK_PORT=9090 und starte die Container neu. Alternativ stoppst du den Prozess, der 8080 belegt (häufig Tomcat oder ein anderer Spring-Boot-Prozess) mit lsof -i :8080.
PrĂĽfe, ob du das Passwort in der .env richtig geschrieben hast (keine AnfĂĽhrungszeichen drumherum, keine Leerzeichen). Mit docker compose logs app | grep -i admin siehst du, ob die Plattform den Bootstrap-Admin angelegt hat.
Der erste Build des Maven-Projekts braucht 2–4 Minuten, weil Spring-Boot-Abhängigkeiten gezogen werden. Folgende Builds sind dank Docker-Layer-Cache deutlich schneller. Mit docker compose build --pull erzwingst du einen frischen Build, falls du Verdacht auf einen kaputten Cache hast.
Der Versions-Cache wird täglich um 03:00 aktualisiert. Bei einem frischen Setup hat er noch keine Werte und zeigt Fallback-Versionen aus dem Code. Auf /einstellungen/wizard/versions kannst du "Jetzt manuell refreshen" klicken — braucht eine Internetverbindung.
Ein neuer Run ist immer im Status DRAFT. Du musst ihn erst auf READY setzen und dann den Knopf "Run starten" klicken. Diese zwei Bestätigungspunkte sind Absicht, damit nicht versehentlich Tokens verbrannt werden.
Standardmäßig unter ./workspaces/<run-id>/ im Repo-Root. Den Pfad kannst du unter /einstellungen → Workspace ändern. Jeder Run bekommt sein eigenes Verzeichnis mit eigener Git-Historie.