Webseiten & Web-Apps bauen mit opencode in deiner IDE
Von der ersten Datei bis in die Produktion — mit einem KI-Agenten, der direkt in deinem Editor mitarbeitet. In 8 Stufen, an einem durchgehenden Praxis-Beispiel.
Worum geht's?
Du lernst, wie du mit opencode direkt im integrierten Terminal deiner IDE (VS Code, Cursor, Antigravity) echte Dinge baust: Webseiten, kleine Web-Apps, Automatisierungen — und wie du das in einer Firma sinnvoll und sicher einsetzt. Der rote Faden: sichtbarer Quick-Win → Zeit sparen → echter Code (Brownfield) → bis ins Deployment.
Dieses Portal ist beides: Live-Präsentation für den Workshop und Selbstlern-Kurs zum Durchklicken. Dein Fortschritt wird lokal gespeichert.
? Warum opencode — zusätzlich zur eingebauten KI deiner IDE?
Deine IDE hat meist schon KI (Code-Vervollständigung, Chat — z. B. Copilot in VS Code, der Cursor-Chat oder Gemini in Antigravity). opencode ist etwas anderes: ein Agent, der eigenständig mehrere Dateien liest, ändert, Befehle ausführt und Schritt für Schritt arbeitet. Und anders als die meisten Agenten ist opencode quelloffen und providerunabhängig — das Modell wählst du selbst.
- Vervollständigt die aktuelle Zeile / Datei
- Beantwortet Fragen im Chat
- Du führst Befehle selbst aus
- Kontext meist auf das offene File begrenzt
- Plant Aufgaben & arbeitet über viele Dateien
- Liest/schreibt Dateien, führt Tests & Befehle aus
- Fragt bei heiklen Aktionen um Freigabe
- Versteht das ganze Projekt (inkl.
AGENTS.md) - Open Source · jedes Modell (auch lokal)
🧠 Mentales Modell: ein Agent in deinem Terminal
opencode macht keine Magie. Es ist ein wiederkehrender Kreislauf — und du bleibst an der Kontrolle.
… und dann wieder von vorn. Du gibst die Richtung vor und bestätigst — opencode übernimmt die Fleißarbeit.
🏭 Unser Beispiel: die „Nordwerk GmbH"
Damit alles zusammenhängt, digitalisieren wir über alle Stufen hinweg eine fiktive kleine Firma.
🗺️ Die 8 Stufen
Setup & Orientierung
opencode im integrierten Terminal deiner IDE installieren, einloggen und das erste Mal etwas bauen.
1 Installieren & starten
opencode läuft im integrierten Terminal deiner IDE — ob VS Code, Cursor oder Antigravity. Einmal installieren, dann mit einem Befehl starten.
- In deiner IDE das Terminal öffnen (
Strg/Cmd + öbzw. View → Terminal). - opencode installieren — am einfachsten per Installer-Skript
curl -fsSL https://opencode.ai/install | bash(Alternativen:npm i -g opencode-aioderbrew install anomalyco/tap/opencode). Details in der opencode-Doku. - Im Projektordner
opencodestarten und im TUI mit/connecteinen Anbieter verbinden (OpenCode Zen, Claude, OpenAI, Gemini, OpenRouter — oder ein lokales Modell via Ollama/LM Studio). - Mit
/initeineAGENTS.mdanlegen lassen. Danach siehst du unten Modell und Modus; mit/modelswechselst du das Modell, mitTabzwischen Plan- und Build-Modus.
opencode --version.2 Die IDE-Oberfläche verstehen
Vier Bereiche, die du kennen solltest. Die Skizze zeigt das Layout schematisch (VS Code, Cursor & Antigravity sind hier nahezu gleich) — die Nummern erklärt die Legende darunter.
- 1 Datei-Explorer — dein Projektbaum. opencode sieht genau diese Dateien.
- 2 Editor — hier siehst du Änderungen sofort, kannst selbst eingreifen.
- 3 Terminal mit opencode — dein Prompt-Eingabefeld an den Agenten.
- 4 Diff/Änderungen — was opencode geändert hat, prüfst du hier (Quellcode-Verwaltung).
3 Erstes Prompt → erste Datei
Sag in einfachen Worten, was du willst. opencode legt die Datei an — nach deiner Freigabe.
Lege eine Datei hallo.html an mit einer zentrierten Überschrift „Hallo Nordwerk" und einem Lime-Hintergrund.
Ich erstelle hallo.html mit einem einfachen, zentrierten Layout. Darf ich die Datei anlegen?
→ [Freigabe erteilt] → Datei erstellt. Öffne sie im Browser, um sie zu sehen.
✓ Geschafft, wenn du …
Grundlagen des Arbeitens
Wie du gut promptest, Kontext gibst, mit dem Plan-/Build-Modus arbeitest und über Berechtigungen die Kontrolle behältst.
1 Gut prompten
Je klarer Ziel, Kontext und gewünschtes Ergebnis, desto besser. Vage Prompts kosten Runden.
- „Mach die Seite schöner."
- „Bau mir ein Tool."
- „Fix den Bug."
- „Mach die Hero-Sektion responsive, max. Breite 1100px, mehr Abstand."
- „Bau ein Dashboard mit 3 Kennzahl-Karten aus
daten.json." - „Der Filter zeigt 0 Treffer bei Großbuchstaben — vergleiche case-insensitive."
2 Dateien & Kontext referenzieren
Zeig opencode, worum es geht — statt es raten zu lassen.
@dateiname hängst du konkrete Dateien an dein Prompt. „Richte dich nach @styles.css" liefert viel bessere Ergebnisse als eine allgemeine Bitte.3 Plan- vs. Build-Modus
opencode kennt zwei Modi (Wechsel mit Tab): Im Plan-Modus liest und plant es nur — es ändert keine Dateien. Im Build-Modus setzt es den Schritt-für-Schritt-Plan dann um. Faustregel: erst im Plan-Modus prüfen, dann zum Bauen wechseln.
index.html lesenstyles.css ergänzenSo sieht das im Terminal aus:
4 Berechtigungen: opencode fragt nach
Du behältst die Kontrolle: opencode fragt vor heiklen Aktionen um Freigabe. Pro Aktionstyp legst du fest, ob es fragt, erlaubt oder verbietet.
edit— Dateien ändernbash— Shell-Befehle ausführenwebfetch/websearch— Inhalte aus dem Netz holenread,grep,glob,lsp— Projektkontext lesen
"ask"— vor jeder Aktion nachfragen (sicher)"allow"— ohne Rückfrage erlauben"deny"— ganz verbieten
permission-Regeln in opencode.json, wann gefragt wird (Details in Stufe 5). Für Teams ist oft gut: global "*": "ask", harmlose Befehle gezielt erlauben, gefährliche Muster wie rm * verbieten.✓ Geschafft, wenn du …
Erste Webseite
Eine echte Landingpage von Null — responsive, live geändert. Der sichtbare Quick-Win.
1 Von Null zur Landingpage
Ein Prompt mit klarem Ziel reicht für ein erstes, vorzeigbares Ergebnis.
Bau eine einseitige Landingpage für die „Nordwerk GmbH" (Metallbau): Hero mit Slogan, 3 Leistungs-Karten, Kontakt-Abschnitt. Modern, dunkel, responsive. Nur HTML/CSS, keine Frameworks.
Ich lege index.html und styles.css an, mit Hero, Karten-Grid und Kontaktbereich. Danach kannst du im Browser draufschauen.
2 Ansehen & nachschärfen (Vorher / Nachher)
Iterieren ist der Normalfall: erste Version ansehen, gezielt verbessern.
Mehr Abstand im Hero, die Karten sollen beim Hover leicht anheben, und die Akzentfarbe auf Lime (#bce941).
So fühlt sich Iterieren an — ein Klick verwandelt v1 in die finale Version:
3 Responsive prüfen
„Sieht das auf dem Handy gut aus?" ist ein gültiges Prompt.
✓ Geschafft, wenn du …
Interaktivität & Web-App
Ein kleines internes Dashboard mit echtem Verhalten — und wie opencode beim Debugging hilft.
1 Internes Dashboard bauen
Aus statisch wird interaktiv: Daten anzeigen, filtern, reagieren.
Bau ein internes Dashboard: lies auftraege.json, zeige Kennzahl-Karten (offen/erledigt/Umsatz) und eine filterbare Tabelle. Vanilla JS.
Ich erstelle dashboard.html + app.js: Karten rechnen die Summen, das Suchfeld filtert die Tabelle live.
2 Debugging: Bug → Fix
Bugs gehören dazu. Beschreibe das Symptom — opencode findet und erklärt die Ursache. Klick „Fix anwenden".
Symptom: Der Filter findet „Schmidt" nicht, wenn man „schmidt" tippt.
includes vergleicht Groß-/Kleinschreibung. „schmidt" ≠ „Schmidt"..toLowerCase() vergleichen — jetzt case-insensitive.Im Terminal läuft das so ab:
✓ Geschafft, wenn du …
opencode methodisch nutzen
Die Features, die aus „nettem Helfer" einen verlässlichen, wiederholbaren Arbeitspartner machen.
1 Die Werkzeuge im Überblick
/models.opencode run2 AGENTS.md anlegen
Die AGENTS.md im Projekt-Wurzelverzeichnis ist das Gedächtnis deines Projekts: Konventionen, Befehle, „nicht anfassen"-Zonen. opencode liest sie automatisch — du kannst sie von opencode erstellen lassen.
› /init ● analysiert Repo-Struktur, Befehle und Konventionen › Ergänze in AGENTS.md: Build-/Test-Befehle, Code-Stil, Review-Regeln und Do-not-touch-Zonen. ● erstellt AGENTS.md ✓
3 Automatisieren mit opencode run
Wiederkehrende Aufgaben musst du nicht jedes Mal von Hand starten. opencode run lässt opencode nicht-interaktiv laufen — perfekt für Skripte, Cron-Jobs oder CI-Pipelines.
opencode run-Aufrufe in ein npm-Skript oder einen nächtlichen Cron-Job packen — die Monatsreports entstehen dann automatisch. Mit --model wählst du gezielt ein Modell, mit --file hängst du Dateien an, mit --format json bekommst du maschinenlesbare Events. --dangerously-skip-permissions nur isoliert einsetzen.4 Konfiguration & MCP (opencode.json)
In opencode.json (im Projekt) oder global unter ~/.config/opencode/ legst du Modell, Berechtigungen und MCP-Server fest.
{
"$schema": "https://opencode.ai/config.json",
"model": "opencode/gpt-5.1-codex",
"small_model": "anthropic/claude-haiku-4-5",
"permission": {
"*": "ask",
"bash": { "*": "ask", "git *": "allow", "rm *": "deny" },
"edit": "ask"
},
"mcp": {
"docs": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-filesystem", "./docs"],
"enabled": true
}
}
}
provider/modell — frei wählbar), kleines Modell für Nebenaufgaben, Freigabe-Regeln und angebundene Tools gelten projektweit. Modellliste aktualisieren: opencode models --refresh. MCP prüfen: opencode mcp list.✓ Geschafft, wenn du …
Produktiv im Alltag
Refactoring, Tests, Git, MCP und eine Automatisierung, die über die Web-Welt hinausgeht.
1 Refactoring & Code erklären
Erklär mir, was app.js macht, und schlage 3 Verbesserungen vor — ohne Verhalten zu ändern.
Überblick + 3 konkrete Refactorings (Funktionen trennen, Namen klären, Duplikate entfernen). Soll ich sie umsetzen?
2 Tests
„Schreib Tests dafür" ist ein hervorragendes Prompt — Tests sichern künftige Änderungen ab.
Schreib die kleinsten sinnvollen Tests für den Filter und führe sie aus. Wenn etwas fehlschlägt, erkläre zuerst die Ursache, bevor du den Code änderst.
Ich ergänze gezielte Tests, starte den Testbefehl aus AGENTS.md und fasse Ergebnis + nächste Schritte zusammen.
3 Git — kurz, aber wichtig
4 MCP / Connectors
Über MCP verbindet sich opencode mit externen Werkzeugen & Datenquellen (z. B. Ticket-System, Datenbank, Doku).
5 Automatisierungs-Skript (CSV → Report)
Der Nutzen über Webseiten hinaus: wiederkehrende Büroarbeit automatisieren.
Schreib ein Skript, das auftraege.csv einliest und einen Monatsreport (Summen pro Kunde, als HTML) erzeugt.
✓ Geschafft, wenn du …
Echte Projekte & Deployment
Bestehenden Code verstehen und ändern (Brownfield) — und das Ergebnis live bringen.
1 Brownfield verstehen
Der Firmenalltag ist selten „grüne Wiese". opencode hilft, fremden Code schnell zu erfassen.
Verschaff dir einen Überblick über dieses Projekt und erkläre mir die Architektur in 5 Sätzen. Wo würde ich eine neue Funktion „Angebots-PDF" einhängen?
AGENTS.md anlegen lassen, dann gezielt fragen — so arbeitet opencode von Anfang an mit dem richtigen Kontext.2 Große Aufgaben zerlegen
- Ziel klären & zuerst planen lassen.
- In kleine, prüfbare Schritte aufteilen.
- Schritt umsetzen → ansehen → nächster Schritt.
- Nach jedem sinnvollen Schritt committen (Git).
3 Statisch deployen — zuerst der einfache Weg
Eine statische Seite live zu bringen ist erstaunlich einfach.
4 Docker als Kür
Für reproduzierbares Deployment auf dem eigenen Server: ein Container.
FROM caddy:alpine COPY ./dist /usr/share/caddy
Build & Deployment im Terminal:
✓ Geschafft, wenn du …
Best Practices, Grenzen & Sicherheit
Damit opencode im Firmenalltag ein Gewinn bleibt — und kein Risiko.
1 Was opencode (nicht) gut kann
- Boilerplate, Refactoring, Tests
- fremden Code erklären
- wiederkehrende Aufgaben
- Vorschläge & Varianten
- fachlichen Entscheidungen ohne Kontext
- brandneuen/seltenen APIs
- „einfach alles" ohne Review
- sicherheitskritischen Details
2 Review-Pflicht & Halluzinationen
3 Prompt-Injection / nicht vertrauenswürdige Inhalte
4 Secrets & .gitignore
.env, und .env in .gitignore. Falls doch passiert: Secret widerrufen — Details (auch „aus der Historie entfernen") in der Git-Schulung.5 Sicherheitsnetz: Berechtigungen + Git
6 Kontext & Kosten
AGENTS.md pflegen. Das spart Geld und macht die Ergebnisse besser.✓ Geschafft, wenn du …
Cheat-Sheet
Zum Mitnehmen: gute Prompts, nützliche Befehle, Automatisierungs-Ideen. (Zählt nicht für den Fortschritt.)
★ Prompt-Muster, die funktionieren
- Ziel + Kontext + Format: „Bau X, richte dich nach
@datei, nur HTML/CSS." - Symptom statt Lösung: „Bei Großbuchstaben 0 Treffer" — Ursache findet opencode.
- Erst Plan: „Mach erst einen Plan, bevor du etwas änderst."
- Verifizieren: „Führe die Tests aus und zeig mir das Ergebnis."
⌨ Nützliche Befehle & Slash-Kommandos
opencodeopencode run "…"Tab/connect/models/init/undo/redo wiederholen.opencode mcp list/share🧩 Automatisierungs-Ideen für die Firma
- Report-Generator (CSV/Excel → formatierter Bericht, per
opencode run) - Onboarding-Helfer (Projekt erklären, Setup-Schritte) — via AGENTS.md
- Review-Checkliste (Stil, Sicherheit, Tests) vor jedem Commit
- Doku-Schreiber (Code → README/Spec) als nächtlicher Job
Quiz
10 Fragen quer durch die Stufen. Ab 8 richtigen Antworten schaltest du dein Zertifikat frei.
Dein Zertifikat
Glückwunsch! Trage deinen Namen ein und drucke das Zertifikat (oder speichere als PDF).