Das Ziel: so sieht es am Ende aus
Die Softwarefabrik ist eine lokale Web-Anwendung. Nach der Einrichtung öffnest du sie im Browser unter http://localhost:8080, meldest dich an und legst dein erstes Projekt an. Ein „Run" schickt dann dein bestehendes Claude-Abo strukturiert an die Arbeit — mit Plan, Umsetzung, Review und Quality-Gate.
Zuerst verstehen: Abo vs. API-Key
Bei Anthropic sind das zwei getrennte Abrechnungswege — die Fabrik unterstützt beide:
Claude-Abo (Login)
Dein Max-/Pro-Abo über die OAuth-Anmeldung von Claude Code. Kein zweites Konto, keine separate Kostenstelle — die Token zählen gegen dein Abo.
API-Key
ANTHROPIC_API_KEY aus der Anthropic-Konsole, pro Token abgerechnet, kostet zusätzlich zum Abo. Du kannst jederzeit umschalten.
Im Abo-Modus entfernt die Fabrik einen etwaigen API-Key bewusst aus der Umgebung des Claude-Prozesses — damit Claude Code wirklich dein Abo nutzt und nicht heimlich auf API-Abrechnung umschaltet.
Voraussetzungen
Bevor du startest, brauchst du folgendes in einer Umgebung (WSL oder Windows — dazu gleich mehr):
- JDK 25 (Java 25) — die Fabrik ist eine Java-Anwendung.
- PostgreSQL — am einfachsten per
docker compose up -d postgresmit der Compose-Datei aus dem Bundle; alternativ eine lokale Installation. - Claude Code (CLI) auf demselben Rechner, als derselbe Benutzer (prüfen mit
claude --version). - Ein aktives Claude-Max- oder Pro-Abo (oder alternativ ein API-Key).
- Eine Einzelplatzlizenz (Community-Tier) — wird automatisch erstausgestellt, siehe unten. Zum reinen Testen nicht nötig.
Wähle deinen Weg
Die Fabrik ruft das claude-CLI als Subprozess auf und braucht dessen Anmeldedaten und PATH. Deshalb müssen Fabrik und Claude Code in derselben Betriebssystem-Welt leben. Entscheide dich für einen Weg:
Weg A — alles in WSL2
Ubuntu-Shell unter Windows. Claude Code via npm, Credentials in ~/.claude, Fabrik-JAR in WSL. Der reibungsärmste Weg.
Weg B — nativ unter Windows
Alles in PowerShell, Credentials unter %USERPROFILE%\.claude, Fabrik-JAR nativ mit JDK 25.
claude-CLI nicht drin, es funktioniert also nur der Mock-Adapter. Für echte Runs startest du das JAR direkt (Schritt 5 unten). Postgres darf ruhig im Container laufen.
Weg A — alles in WSL (empfohlen)
Alle Schritte laufen in einer WSL2-Ubuntu-Shell als dein Benutzer.
-
JDK 25 und Claude Code installieren
Claude Code kommt als npm-Paket. Danach einmal einloggen (öffnet den Browser).
sudo apt update && sudo apt install -y openjdk-25-jdk npm install -g @anthropic-ai/claude-code claude --version claude /login
-
Distributions-Bundle beziehen
Die Fabrik ist ein lizenziertes Produkt — es gibt kein öffentliches Repo. Nach Kauf oder Trial-Freischaltung erhältst du das Distributions-Bundle: das signierte
softwarefabrik.jar, einedocker-compose.yml(für Postgres) und eine Beispiel-.env. Entpacken und hineinwechseln:tar xzf softwarefabrik-einzelplatz.tar.gz cd softwarefabrik
Quellzugang zum Selberbauen ist auf Anfrage möglich.
-
.envanlegen (drei Pflicht-Secrets)Der Master-Key muss mindestens 32 Byte Base64 sein — hier direkt erzeugt.
SOFTWAREFABRIK_ADMIN_PASSWORD=dein-admin-passwort SOFTWAREFABRIK_DB_PASSWORD=dein-db-passwort SOFTWAREFABRIK_SECRETS_MASTER_KEY=$(openssl rand -base64 32)
-
Postgres starten
Am einfachsten via Compose (nur die Datenbank, nicht die Fabrik).
docker compose up -d postgres
-
Fabrik starten und öffnen
Danach
http://localhost:8080öffnen und mit dem Admin-Account anmelden.java -jar softwarefabrik.jar # mit Quellzugang alternativ: ./mvnw spring-boot:run
Weg B — alles nativ unter Windows
Alle Schritte laufen in PowerShell als dein Windows-Benutzer, mit JDK 25.
-
Claude Code installieren
Via npm; der Befehl heißt unter Windows
claude.cmd. Einmal einloggen.npm install -g @anthropic-ai/claude-code claude --version claude /login
-
Distributions-Bundle beziehen
Kein öffentliches Repo — nach Freischaltung lädst du das Bundle (signiertes
softwarefabrik.jar+docker-compose.yml+ Beispiel-.env) und entpackst es. JDK 25 muss installiert sein; Quellzugang zum Selberbauen auf Anfrage.tar xzf softwarefabrik-einzelplatz.tar.gz cd softwarefabrik
-
.envanlegen (drei Pflicht-Secrets)Den Master-Key (mind. 32 Byte Base64) erzeugst du in PowerShell so:
[Convert]::ToBase64String((1..32 | ForEach-Object { Get-Random -Maximum 256 }))SOFTWAREFABRIK_ADMIN_PASSWORD=dein-admin-passwort SOFTWAREFABRIK_DB_PASSWORD=dein-db-passwort SOFTWAREFABRIK_SECRETS_MASTER_KEY=<base64-key-von-oben>
-
Postgres starten
Docker Desktop oder eine lokale Postgres-Installation nutzen.
docker compose up -d postgres
-
Fabrik starten und öffnen
Danach
http://localhost:8080öffnen und mit dem Admin-Account anmelden.java -jar softwarefabrik.jar
USERPROFILE, APPDATA, …) an Claude durch und nimmt als Default automatisch claude.cmd. Liegt deine Installation an einem abweichenden Pfad, setze SOFTWAREFABRIK_CLAUDECODE_COMMAND auf den vollen Pfad (z. B. einer claude.exe).
Dein Abo anbinden
Diese Schritte gelten in beiden Wegen — nur der Credentials-Pfad unterscheidet sich.
-
Einmalig anmelden
Falls oben noch nicht geschehen. Der Browser-Login geht gegen dein Abo; die Anmeldedaten landen unter
~/.claude(WSL) bzw.%USERPROFILE%\.claude(Windows) und werden von Claude Code selbst aktuell gehalten.claude /login
-
Auth-Modus auf „subscription" setzen
In der
.env, bevor die Fabrik startet.SOFTWAREFABRIK_CLAUDECODE_AUTH_MODE=subscription
-
Kein API-Key in der Umgebung
Ein gesetzter
ANTHROPIC_API_KEYhätte in Claude Code Vorrang vor dem Abo. Die Fabrik strippt ihn im Abo-Modus ohnehin aus dem Subprozess — halte ihn trotzdem aus der Umgebung fern. -
(Optional) Abweichendes Credentials-Verzeichnis
Nur nötig, wenn deine Anmeldedaten nicht am Standardort liegen.
SOFTWAREFABRIK_CLAUDECODE_CONFIG_DIR=/pfad/zu/.claude
Auch mit OpenAI Codex (ChatGPT-Abo)
Dasselbe Prinzip gibt es für OpenAI Codex: statt eines OPENAI_API_KEY nutzt die Fabrik dein eingeloggtes ChatGPT-Plus/Pro-Abo („Sign in with ChatGPT"). Die Schritte sind 1:1 analog zum Claude-Abo.
-
Einmalig anmelden
Browser-Login gegen dein ChatGPT-Abo. Die Anmeldedaten landen unter
~/.codex/auth.json(WSL) bzw.%USERPROFILE%\.codex\auth.json(Windows).codex login
-
Adapter + Auth-Modus setzen
Per
.envoder in den Einstellungen. Ein gesetzterOPENAI_API_KEYwürde die Abrechnung still umlenken — im Abo-Modus strippt die Fabrik ihn aktiv.SOFTWAREFABRIK_EXECUTION_ADAPTER=codex SOFTWAREFABRIK_CODEX_AUTH_MODE=subscription
-
(Optional) Abweichendes
CODEX_HOMENur nötig, wenn nicht am Standardort. Der Auth-Modus ist auch in der Einstellungen-UI umschaltbar und greift ohne Neustart (max. 5 Min Cache).
SOFTWAREFABRIK_CODEX_CONFIG_DIR=/pfad/zu/.codex
Lizenz — Einzelplatz
Der Einzelplatz nutzt das Community-Tier. Für den produktiven Betrieb aktivierst du das Lizenzmodul:
SOFTWAREFABRIK_LICENSE_V1_ENABLED=true
- 30-Tage-Lease, die bei jedem Start der Fabrik automatisch erneuert wird.
- Offline + Grace: Ist der Lizenzserver nicht erreichbar, läuft die Fabrik mit der vorhandenen Lease plus 30 Tagen Grace weiter — der Start wird nie blockiert.
- Kein Account/Login: Die Erstausstellung läuft ohne Anmeldung, nur mit E-Mail und Geräte-Fingerprint.
- Offline verifizierbar: Lease-Tokens sind Ed25519-signiert und werden lokal geprüft.
- Bei abgelaufener Lizenz werden nur neue Runs gesperrt — die übrige UI bleibt nutzbar.
Abrechnung — ehrlich gesagt
Seit Mitte 2026 rechnet Anthropic die programmatische Abo-Nutzung über ein separates Monatskontingent zu API-Preisen ab — nicht mehr unbegrenzt im Abo.
- Einzelplatz: bequem, kein API-Billing-Setup; für moderate Nutzung reicht das Kontingent.
- Dauerlast: ein API-Key kann wirtschaftlicher sein — du behältst beide Optionen per Umschalter.
EINZELPLATZ_ABO (Setting betrieb.modus), der den Abo-Login erlaubt. Für Team-Betrieb gibt es TEAM_API_POOL, der den Abo-Login sperrt und einen hinterlegten API-Key erzwingt (Pool-Abrechnung).
Mehrere Nutzer mit eigenem Abo
Für Bring-Your-Own-Subscription authentifiziert das Backend jeden Nutzer in ein eigenes Credentials-Verzeichnis und routet den Run dorthin. Die Grundlage (pro Run wählbares Verzeichnis) ist vorhanden; die nutzerbezogene Verwaltung ist die nächste Ausbaustufe. Jeder zahlt aus seinem eigenen Kontingent.
Fertig — so prüfst du es
Fabrik neu starten
Damit die Umgebungsvariablen aus der
.envgreifen.Projekt anlegen und Run starten
Über den Assistenten ein Projekt anlegen, dann einen Run mit Adapter
claudecodestarten.Ergebnis prüfen
Der Run läuft durch, ohne dass ein API-Key hinterlegt ist — die Token zählen gegen dein Abo. Verschwindet der gelbe „Mock-Adapter aktiv"-Hinweis, läuft alles echt.