Einrichtung des externen App Building Agents (OpenCode)
Dieser Leitfaden erklärt, wie du OpenCode als deinen externen App Building Agent für Simplifier-Projekte einrichtest. Jedes Projekt oder jede Anwendung sollte in einem eigenen Verzeichnis mit einer eigenen MCP-Konfiguration liegen, die aus dem Simplifier App Editor geklont wurde.
Voraussetzungen
Bevor du beginnst, stelle sicher, dass Folgendes auf deinem Rechner installiert und verfügbar ist:
- Node.js (LTS-Version, enthält npx)
- Einguss
- OpenCode — installiere es über:
npm install -g opencode-ai - Ein Anthropic-Konto mit Zugriff auf die Modelle Claude Opus und Claude Sonnet
- Zugriff auf deinen Simplifier App Editor (um das Git-Repository des Projekts zu klonen)
- Ein gültiger Simplifier Token von deiner Simplifier-Instanz (Benutzerprofil → Sicherheit)
- Für das Spec Kit (optional, Schritt 6): uv (oder pipx), um das specify-CLI zu installieren
Schritt 1 — Erstelle ein neues Projektverzeichnis
Erstelle für jedes Projekt oder jede Anwendung ein eigenes Verzeichnis auf deinem Rechner. Dies hält MCPs, Konfiguration und Git-Historie pro App isoliert.
mkdir ~/simplifier-projects/
cd ~/simplifier-projects/
Wichtig: Mische nicht mehrere Simplifier-Apps im selben Verzeichnis. Jede App benötigt einen eigenen Ordner, damit MCPs und der OpenCode-Kontext sauber bleiben.
Schritt 2 — Klone das Projekt-Git-Repository aus dem Simplifier App Editor
- Öffne deine App im Simplifier App Editor.
- Erstelle eine neue App mit Version 2 und installiere sie.
- Öffne das Git-Panel und kopiere die Repository-URL deiner Anwendung.
- Klone das Repository in deinem Terminal in das soeben erstellte Projektverzeichnis:
git clone <simplifier-app-git-url>
- Überprüfe den Klonvorgang:
git status
Schritt 3 — Wechsle in das Projektverzeichnis und füge MCPs hinzu
Alle MCP-Server müssen aus dem Git-Ordner des Projekts heraus hinzugefügt werden, damit sie nur für diese App gelten. In OpenCode werden MCPs über die projektlokale Datei opencode.json (befindet sich in .opencode/opencode.json) konfiguriert.
3.1 — Starte OpenCode im Projektordner (einmalig zur Initialisierung)
cd ~/simplifier-projects/<your-app-name>
opencode
Beende es wieder mit /exit, sobald es initialisiert ist. Dies erstellt den Ordner .opencode/ mit opencode.json.
3.2 — Füge die erforderlichen MCP-Server hinzu
Öffne .opencode/opencode.json in deinem Editor und füge die folgenden MCP-Einträge hinzu. Falls die Datei noch keinen mcp-Schlüssel hat, füge ihn hinzu.
Simplifier MCP — Konnektoren, Business Objekte, Datentypen, SAP-Systeme
Referenz: https://github.com/simplifier-ag/simplifier-mcp
Du benötigst zwei Werte:
SIMPLIFIER_BASE_URL— z. B.https://<yourinstance>-dev.simplifier.cloud(On-Premise-Nutzer verwenden ihre eigene Dev-URL).SIMPLIFIER_TOKEN— dein aktueller SimplifierToken aus der angemeldeten Simplifier-Sitzung.
via npx (empfohlen):
{
"mcp": {
"simplifier": {
"type": "local",
"command": ["npx", "@simplifierag/simplifier-mcp@latest"],
"env": {
"SIMPLIFIER_TOKEN": "",
"SIMPLIFIER_BASE_URL": "https://-dev.simplifier.cloud"
},
"enabled": true
}
}
}
Alternative — via Docker:
{
"mcp": {
"simplifier": {
"type": "local",
"command": ["docker", "run", "--rm", "-i",
"--env", "SIMPLIFIER_TOKEN=",
"--env", "SIMPLIFIER_BASE_URL=https://-dev.simplifier.cloud",
"simplifierag/simplifier-mcp:latest"
],
"enabled": true
}
}
}
Token-Rotation: Jedes Mal, wenn du dich bei Simplifier anmeldest, ändert sich dein
SIMPLIFIER_TOKEN. Nach jeder Neuanmeldung musst du:
- OpenCode beenden
- Den Wert für
SIMPLIFIER_TOKENin.opencode/opencode.json- aktualisieren und OpenCode neu starten
Falls der Simplifier MCP beim Start keine Verbindung herstellen kann, öffnet sich in deinem Browser eine Fehlerseite mit Details und Lösungsvorschlägen.
Fiori MCP Server — SAP Fiori Anwendungs-Scaffolding & -Modifikation
"fiori-mcp-server": {
"type": "local",
"command": ["npx", "-y", "@sap/fiori-mcp-server@latest"],
"enabled": true
}
UI5 MCP Server — SAPUI5 / OpenUI5 Entwicklung, Linting, API-Referenz
"ui5-mcp-server": {
"type": "local",
"command": ["npx", "-y", "@ui5/mcp-server@latest"],
"enabled": true
}
Playwright MCP — Browser-Automatisierung & End-to-End-Tests
"playwright": {
"type": "local",
"command": ["npx", "-y", "@playwright/mcp@latest"],
"enabled": true
}
Vollständiges Beispiel .opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"model": "anthropic/claude-sonnet-4-5",
"mcp": {
"simplifier": {
"type": "local",
"command": ["npx", "@simplifierag/simplifier-mcp@latest"],
"env": {
"SIMPLIFIER_TOKEN": "",
"SIMPLIFIER_BASE_URL": "https://-dev.simplifier.cloud"
},
"enabled": true
},
"fiori-mcp-server": {
"type": "local",
"command": ["npx", "-y", "@sap/fiori-mcp-server@latest"],
"enabled": true
},
"ui5-mcp-server": {
"type": "local",
"command": ["npx", "-y", "@ui5/mcp-server@latest"],
"enabled": true
},
"playwright": {
"type": "local",
"command": ["npx", "-y", "@playwright/mcp@latest"],
"enabled": true
}
}
}
3.3 — Überprüfe die MCP-Registrierung
Starte OpenCode neu und prüfe, ob alle MCPs in der Statusleiste als verbunden angezeigt werden. Du solltest Folgendes sehen:
simplifierfiori-mcp-serverui5-mcp-serverplaywright
Schritt 4 — Initialisiere das Simplifier-Projekt
Führe den Init-Befehl innerhalb von OpenCode aus:
/init-simplifier
Dieser Befehl führt dich durch:
- Festlegen der Basis-URL der Simplifier-Instanz in
.env - Ausführen von
pnpm install, um UI5-Tooling abzurufen - Starten des Dev-Servers mit
pnpm run start(App verfügbar unterhttp://localhost:12345/index.html) - Dokumentieren der MCP-Nutzung in
CLAUDE.md/AGENTS.md
Der Befehl
/init-simplifierbefindet sich in.claude/commands/init-simplifier.mdim Projekt-Repo. OpenCode liest und führt diese Slash-Befehle genau wie Claude Code aus.
Schritt 5 — Der Zwei-Modi-Workflow: Erst planen, dann bauen
OpenCode unterstützt die gleiche „Plan-first / Build-second“-Methodik. Beginne immer im Plan-Modus. Wechsle erst in den Build-Modus, nachdem die Spezifikation geprüft und genehmigt wurde.
5.1 — Plan-Modus (verwende Claude Opus 4.5)
Der Plan-Modus ist schreibgeschützt: Der Agent analysiert, entwirft und schlägt vor — aber er verändert keine Dateien.
- Empfohlenes Modell:
claude-opus-4-5(höchste Argumentationsqualität) - Wann zu verwenden: IMMER zu Beginn einer Aufgabe, mit oder ohne Spec Kit
- Ziel: Erstellung einer klaren, geprüften Spezifikation oder eines Implementierungsplans
Stelle das Modell in OpenCode ein, indem du opencode.json aktualisierst, bevor du eine Planungssitzung startest:
{
"model": "anthropic/claude-opus-4-5"
}
Oder wechsle direkt während der Sitzung:
/model anthropic/claude-opus-4-5
Beschreibe nun, was du bauen möchtest. Prüfe das Ergebnis sorgfältig:
- Entspricht es deiner Absicht?
- Sind alle Entitäten, Konnektoren und Business Objekte korrekt identifiziert?
- Sind Sonderfälle abgedeckt?
- Lassen sich externe Anforderungen (Excel/PDF/Jira) 1:1 in der Spezifikation nachverfolgen?
5.2 — Build-Modus (verwende Claude Sonnet 4.5)
Sobald die Spezifikation oder der Plan steht, wechsle für die eigentliche Implementierung in den Build-Modus. Sonnet ist schneller und kostengünstiger und für die Ausführung eines gut definierten Plans völlig ausreichend.
- Empfohlenes Modell:
claude-sonnet-4-5(kosteneffizient, schnell) - Wann zu verwenden: NUR nachdem der Plan/die Spezifikation geprüft und genehmigt wurde
Modell für die Ausführung wechseln:
{
"model": "anthropic/claude-sonnet-4-5"
}
Oder direkt:
/model anthropic/claude-sonnet-4-5
Weise den Agenten nun an, den genehmigten Plan auszuführen. Er wird Dateien erstellen, Befehle ausführen und Änderungen committen.
Schritt 6 — (Optional, empfohlen für größere Projekte) GitHub Spec Kit integrieren
Für größere Anwendungen empfehlen wir dringend die Verwendung des GitHub Spec Kit Frameworks. Das Spec Kit treibt die spezifikationsgetriebene Entwicklung voran: Du schreibst zuerst eine präzise Spezifikation und lässt sie dann vom Agenten implementieren.
Führe
/init-simplifier(Schritt 4) aus und wechsle in den Plan-Modus (Schritt 5), BEVOR du Spec-Kit-Befehle nutzt.
6.1 — Installiere das Specify-CLI (einmalig, systemweit)
Das Spec Kit wird als specify CLI ausgeliefert. Installiere es einmalig über uv (empfohlen) oder pipx:
# Recommended — using uv
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
# Alternative — using pipx
pipx install git+https://github.com/github/spec-kit.git
Überprüfen:
specify version
specify check
Falls
command not found: uv→ installiere zuerst uv oder verwende diepipx-Zeile oben.
6.2 — Initialisiere das Spec Kit in deinem Projekt
Aus deinem Projektverzeichnis heraus:
cd ~/simplifier-projects/<your-app-name>
# Initialize in the current folder for OpenCode
specify init . --integration claude
# or, equivalent
specify init --here --integration claude
Dies erstellt den Ordner .specify/ mit Vorlagen sowie Slash-Befehle unter .claude/commands/, die OpenCode ebenfalls erkennt.
6.3 — Projektprinzipien festlegen (Constitution)
Führe in OpenCode Folgendes aus:
/speckit.constitution Create principles focused on code quality, Simplifier best practices, BusinessObject testing, naming conventions for connectors, and UI consistency for SAPUI5/Fiori screens.
6.4 — Erstelle die Spezifikation
Schreibe die Spezifikation für ein kleines/internes Projekt direkt:
/speckit.specify Build a Simplifier app that lets warehouse managers scan barcodes, look up stock levels via the SAP RFC connector, and post goods movements. The UI is a Fiori list-detail layout.
6.4.a — Externe Anforderungen integrieren (Excel, Word, PDF, Jira-Export)
Wenn du bereits Anforderungen in einer Excel-Tabelle mit User Stories, einer Word/PDF-Spezifikation, einem Jira-Export oder einem anderen externen Dokument hast, tippe diese nicht erneut ab. Lege die Datei(en) in den Projektordner (z. B. in einen Unterordner docs/) und lass OpenCode sie lesen.
mkdir docs
cp ~/Downloads/UserStories.xlsx docs/
cp ~/Downloads/RequirementsSpec.pdf docs/
Verwende dann in OpenCode (Plan-Modus + Opus 4.5) einen Prompt wie:
Prompt-Beispiel — Excel mit User Stories:
Read the file docs/UserStories.xlsx. Each row is a user story with columns:
ID, Role, Goal, Reason (As a / I want / So that), Acceptance Criteria, Priority, Epic.
Consolidate the stories into a coherent specification grouped by Epic.
Identify all entities, Simplifier Connectors, BusinessObjects and screens implied
by the stories. Then call /speckit.specify with the consolidated text so that
spec.md is created. Preserve the original Story IDs as references in the spec
so we can trace every requirement back to the Excel.
Prompt-Beispiel — PDF / Word-Spezifikation:
Read docs/RequirementsSpec.pdf. Extract:
- functional requirements (numbered FR-x)
- non-functional requirements (NFR-x)
- data entities and their fields
- external systems / integrations
Then run /speckit.specify with a structured summary that keeps the FR/NFR IDs
as traceability anchors. Flag anything ambiguous and ask me before finalizing.
Prompt-Beispiel — Jira / Azure DevOps CSV-Export:
Read docs/jira-export.csv. Each row is an issue (Story or Task) with key,
summary, description, acceptance criteria, labels, epic link.
Group by Epic Link, deduplicate, and produce a single spec input. Then call
/speckit.specify. Keep Jira keys (e.g. PROJ-123) as references next to each
requirement so we can sync back to Jira later.
OpenCode kann
.xlsx,.csv,.docx,.md,.txtdirekt lesen. Bei sehr großen Dateien bitte den Agenten, diese zuerst Kapitel für Kapitel zusammenzufassen und dann die konsolidierte Spezifikation zu erstellen.
Nachdem /speckit.specify ausgeführt wurde, prüfe spec.md und verfeinere es mit /speckit.clarify, falls etwas unzureichend spezifiziert ist.
6.5 — Planen, aufteilen, implementieren
/speckit.plan Use the Simplifier platform: REST/SAP-RFC connectors, server-side BusinessObjects for business logic, and a Fiori-style SAPUI5 frontend. Persist app artifacts via the Simplifier Git integration.
/speckit.tasks
/speckit.analyze # optional — cross-artifact consistency check before implement
/speckit.implement
/speckit.constitution |
Projektweite Leitprinzipien |
/speckit.specify |
Definiere, was gebaut werden soll (funktionale Spezifikation) |
/speckit.clarify |
Kläre unzureichend spezifizierte Bereiche (vor /speckit.plan ausführen) |
/speckit.plan |
Definiere, wie es gebaut werden soll (Tech-Stack, Architektur) |
/speckit.tasks |
Erstelle die ausführbare Aufgabenliste |
/speckit.analyze |
Prüfung der Konsistenz und Abdeckung über alle Artefakte hinweg |
/speckit.implement |
Führe alle Aufgaben aus |
Zusammenfassung des empfohlenen Workflows
| Schritt | Aktion | Modell | Modus |
|---|---|---|---|
| 1 | Projektverzeichnis erstellen | — | — |
| 2 | git clone aus dem Simplifier App Editor |
— | — |
| 3 | MCPs via .opencode/opencode.json hinzufügen (Simplifier, Fiori, UI5, Playwright) |
— | — |
| 4 | /init-simplifier innerhalb von OpenCode ausführen |
— | — |
| 5 | Plan-Modus aufrufen + Opus 4.5 wählen | Opus 4.5 | Plan |
| 6 | (Große Projekte) specify init + /speckit.constitution → /speckit.specify → /speckit.clarify → /speckit.plan |
Opus 4.5 | Plan |
| 7 | Plan + Spezifikation prüfen und genehmigen | Opus 4.5 | Plan |
| 8 | In den Build-Modus + Sonnet 4.5 wechseln; /speckit.tasks → /speckit.analyze → /speckit.implement |
Sonnet 4.5 | Erstellen |
| 9 | Commit und Push zum Simplifier Git | Sonnet 4.5 | Build |
Tipps & Best Practices
- Ein Projekt = ein Ordner = eine
.opencode/opencode.json. Teile MCP-Konfigurationen niemals zwischen nicht zusammenhängenden Apps. - Beginne immer im Plan-Modus. Die Kosten für einen schlechten Plan sind weitaus höher als die Kosten für Opus-Token.
- Wechsle für die Ausführung zu Sonnet. Das Bauen auf Basis eines klaren Plans erfordert keine Argumentation auf Opus-Niveau.
- Erneuere deinen Simplifier Token nach jeder Anmeldung. Aktualisiere
SIMPLIFIER_TOKENin.opencode/opencode.jsonund starte OpenCode neu — andernfalls schlagen Aufrufe mit Authentifizierungsfehlern fehl. - Lege externe Anforderungen in
docs/ab. Excel, PDF, Word, CSV — lass den Agenten sie lesen; kopiere Inhalte niemals manuell per Copy-and-Paste. - Bewahre externe IDs. Story-IDs (Jira-Keys, Excel-Zeilen-IDs, FR-/NFR-Nummern) gehören zur Rückverfolgbarkeit in die Spezifikation.
- Committe oft. Nutze das geklonte Simplifier-Git-Repository als „Source of Truth“ — pushe die Änderungen zurück in den App Editor, wenn die Arbeit erledigt ist.
- Nutze das Spec Kit für alles, was nicht trivial ist. Selbst eine einzige
spec.mdverbessert die Ergebnisse des Agenten drastisch. - Halte MCPs auf dem neuesten Stand. Überprüfe regelmäßig die MCP-Konnektivität im Status-Panel von OpenCode.
Fehlerbehebung
| Symptom | Lösung |
|---|---|
| MCP wird in OpenCode als getrennt angezeigt | Prüfe .opencode/opencode.json auf Tippfehler im Befehl oder in den Umgebungsvariablen; starte OpenCode neu |
| Simplifier MCP zeigt Authentifizierungs- / 401-Fehler | Dein SIMPLIFIER_TOKEN ist nach der Neuanmeldung abgelaufen → aktualisiere den Token in .opencode/opencode.json und starte OpenCode neu |
| Simplifier MCP öffnet beim Start eine Fehlerseite im Browser | Lies die Seite — sie beschreibt das Verbindungsproblem (falsche URL, ungültiger Token, Netzwerk) und wie es behoben werden kann |
| Agent kennt die Simplifier-APIs nicht | Bestätige, dass der simplifier-Eintrag vorhanden ist und enabled: true in .opencode/opencode.json |
| Opus 4.5 zu langsam / zu teuer für kleine Änderungen | Wechsle mit /model anthropic/claude-sonnet-4-5 zu Sonnet 4.5, nachdem der Plan feststeht |
| Playwright MCP kann den Browser nicht starten | Führe npx playwright install einmalig aus, um die Browser-Binärdateien zu installieren |
specify: command not found |
Installiere über uv tool install specify-cli --from git+https://github.com/github/spec-kit.git (oder pipx) |
/speckit.*-Befehle in OpenCode nicht sichtbar |
Führe specify init . --integration claude erneut im Projektordner aus und starte dann OpenCode neu |
| Excel/PDF-Anforderungen werden vom Agenten ignoriert | Lege die Dateien in docs/ ab und referenziere den Pfad explizit in deinem Prompt (z. B. docs/UserStories.xlsx) |












