TIP
GitHub: https://github.com/Fission-AI/OpenSpec · MIT Open-Source-Lizenz · Node.js 20.19.0+
Einstieg | ca. 15 Minuten | Du beherrschst die Kernkonzepte von OpenSpec (Delta-Specs, Artifact-AbhĂ€ngigkeitsgraf), den Initialisierungsprozess, den OPSX-Workflow (propose â apply â archive) sowie die parallele Verwaltung mehrerer Ănderungen
ProjektĂŒberblick
Wir fangen mit einer Sache an, die wir einfach anerkennen mĂŒssen: Hast du beim Programmieren mit einem KI-Coding-Assistant schon einmal so etwas erlebt â dass die KI, wĂ€hrend ihr euch unterhaltet, plötzlich auch an Stellen etwas Ă€ndert, die du eigentlich gar nicht anfassen wolltest; oder dass sie beim Wechsel des GesprĂ€chskontexts komplett vergisst, was vorher besprochen wurde; oder dass Funktionen, die du die KI neu schreiben lĂ€sst, am Ende schlicht nicht das sind, was du dir wirklich erhofft hast?
Das liegt nicht daran, dass die KI zu dumm ist â sondern daran, dass die Anforderungen nie wirklich âabgezeichnetâ wurden. Sie existieren nur im Chatverlauf, und dadurch ist der Spielraum der KI zum freien Interpretieren einfach zu groĂ.
OpenSpec macht das Ganze ganz schlicht: Bevor du ĂŒberhaupt anfĂ€ngst, Code zu schreiben, richtet ihr euch erst gemeinsam auf ein Spezifikationsdokument aus â und die KI handelt dann genau nach dieser Spezifikation. OpenSpec wurde von Fission-AI entwickelt, unterstĂŒtzt 20+ KI-Programmierwerkzeuge (Claude Code, Cursor, Windsurf usw.) und ist im Kern eine leichte Schicht fĂŒr Spezifikations- und Spezifikationsmanagement fĂŒr KI-Coding-Assistant.
Zielgruppe
- Entwickler, die tÀglich KI-Programmier-Assistants nutzen
- Ingenieure, die in der Teamarbeit unter uneinheitlichem VerstÀndnis von Anforderungen zwischen Mensch und KI leiden
- Produktmanager, die die Ausgabe der KI besser steuerbar machen möchten
Zentrale AbhÀngigkeiten und Umgebung
- Node.js 20.19.0+
TIP
macOS-Nutzer: Wir empfehlen, Node-Versionen mit nvm zu verwalten â mit einem Einzeiler wechseln: nvm install 20 && nvm use 20
VollstÀndiger Projekt-Strukturbaum
openspec/
âââ specs/ # Aktuelle Verhaltensspezifikation des Systems (nach DomĂ€nen gegliedert)
â âââ <domain>/spec.md
âââ changes/ # ĂnderungsantrĂ€ge (pro Ănderung ein Ordner)
â âââ <change-name>/
â â âââ proposal.md # Motivation + Scope + Ansatz
â â âââ specs/ # Delta-Spezifikationen (ADDED/MODIFIED/REMOVED)
â â â âââ <domain>/spec.md
â â âââ design.md # Technisches Design
â â âââ tasks.md # Umsetzungs-Checkliste
â âââ archive/ # Archivierte Historie
âââ config.yaml # Projektkonfiguration (optional)
Schritt fĂŒr Schritt
Schritt 1: OpenSpec global installieren
npm install -g @fission-ai/openspec@latest
Nach der Installation kurz verifizieren:
openspec --version
# 1.2.0
WARNING
Die Node.js-Version muss >= 20.19.0 sein; Ă€ltere Versionen fĂŒhren zu einem SyntaxError. Wenn du auf dieses Problem stöĂt, aktualisiere zuerst Node: nvm install 20 && nvm use 20
Schritt 2: Projekt initialisieren
Wechsle in dein Projektverzeichnis und fĂŒhre den Initialisierungsbefehl aus:
cd your-project
openspec init
Dieser Befehl macht drei Dinge:
- Erstellt die
openspec/-Verzeichnisstruktur - Erzeugt die KI-FĂ€higkeitsdateien unter
.claude/(damit der KI-Assistant die/opsx:*-Kommandos erkennen kann) - Fragt dich, ob du die Projektkonfigurationsdatei
config.yamlerstellen möchtest (optional, um Projektkontext einzuspeisen)
Nach der Initialisierung enthÀlt dein Projekt diese Verzeichnisse:
openspec/
âââ specs/ # Aktuelle Verhaltensspezifikation des Systems (leerer Ordner, wartet auf BefĂŒllung)
âââ changes/ # Ănderungsantrags-Verzeichnis (leerer Ordner)
âââ config.yaml # Projektkonfiguration (falls erstellt)
Schritt 3: OPSX-Workflow-Extension aktivieren
Die neu installierte OpenSpec ist standardmĂ€Ăig im core-Modus â mit nur 4 Befehlen: propose, explore, apply, archive. Wenn du den vollstĂ€ndigen Workflow nutzen möchtest (inkl. new, continue, ff, verify, bulk-archive usw.), dann:
openspec config profile
# expanded oder full auswÀhlen
openspec update
openspec update erzeugt die KI-FÀhigkeitsdateien basierend auf deinem ausgewÀhlten Profile neu, damit du in den GesprÀchen mit der KI mehr Befehle verwenden kannst.
TIP
Unklar, welches Profile du gerade verwendest? Starte openspec config show.
Schritt 4: Die erste Ănderung erstellen â Dark Mode hinzufĂŒgen
Jetzt lass die KI dir beim Erstellen einer Ănderung helfen. Nehmen wir als Beispiel: âDer App einen Dark Mode hinzufĂŒgenâ. Sag der KI einfach direkt:
/opsx:propose add-dark-mode
Die KI legt automatisch vier Artifact-Dateien unter openspec/changes/add-dark-mode/ an:
openspec/changes/add-dark-mode/
âââ proposal.md # Wozu ist diese Ănderung da? Scope? Ansatz?
âââ specs/
â âââ ui/spec.md # Delta-Spezifikation fĂŒr die UI-DomĂ€ne
âââ design.md # Wie ist der technische Ansatz gedacht?
âââ tasks.md # Was genau soll umgesetzt werden? Schritt fĂŒr Schritt
proposal.md sieht so aus (wird von der KI automatisch generiert; du und die KI könnt ihr gemeinsam anpassen):
# Proposal: Add Dark Mode
## Intent
Der Nutzer wĂŒnscht sich einen Dark Mode, um die AugenermĂŒdung bei der Nutzung in der Nacht zu reduzieren.
## Scope
- Einen Theme-Umschaltknopf in den Einstellungen hinzufĂŒgen
- UnterstĂŒtzung fĂŒr die Erkennung der SystemprĂ€ferenz
- Persistierung der PrÀferenz in localStorage
## Approach
CSS-Variablen fĂŒr das Theme verwenden und den Status mit React Context verwalten.
specs/ui/spec.md ist die entscheidende Delta-Spezifikation mit folgendem Format:
# Delta for UI
## ADDED Requirements
### Requirement: Theme Selection
Das System SHALL es Nutzerinnen und Nutzern ermöglichen, zwischen einem Light- und einem Dark-Theme umzuschalten.
#### Scenario: Manuelles Umschalten
- GIVEN Der Nutzer befindet sich auf einer beliebigen Seite
- WHEN Der Nutzer klickt auf den Theme-Umschaltknopf
- THEN Das Theme wird sofort umgeschaltet, und die PrĂ€ferenz wird ĂŒber Sitzungen hinweg persistiert
#### Scenario: SystemprÀferenz
- GIVEN Der Nutzer hat keine gespeicherte PrÀferenz
- WHEN Die Anwendung startet
- THEN Es wird das vom System bevorzugte Farbschema verwendet
TIP
Der Kern von Delta-Spezifikationen ist die âĂnderungâ: Sie beschreiben nur den neu hinzukommenden, geĂ€nderten und entfernten Inhalt. Beim Archivieren werden diese Deltas in die Hauptspezifikationsdatei zusammengefĂŒhrt.
tasks.md ist die Checkliste zur Umsetzung:
# Tasks
## 1. Theme Infrastructure
- [ ] 1.1 Erstelle ThemeContext (light/dark-Status)
- [ ] 1.2 FĂŒge Definitionen fĂŒr CSS-Variablen fĂŒr Farben hinzu
- [ ] 1.3 Implementiere localStorage-Persistierung
## 2. UI Components
- [ ] 2.1 Erstelle ThemeToggle-Komponente
- [ ] 2.2 FĂŒge in der Einstellungsseite einen Umschalter hinzu
- [ ] 2.3 FĂŒge einen Schnellumschalter in den Header ein
## 3. Styling
- [ ] 3.1 Definiere Farbschema fĂŒr das Dark Theme
- [ ] 3.2 Lasse bestehende Komponenten CSS-Variablen verwenden
Schritt 5: Implementierungsaufgaben ausfĂŒhren
Nachdem das Spezifikationsdokument bestĂ€tigt ist, fĂŒhre die Implementierung aus:
/opsx:apply
Die KI prĂŒft die Aufgaben aus tasks.md der Reihe nach; fĂŒr jede erledigte Aufgabe setzt sie ein HĂ€kchen. Du wirst merken, dass sich das Verhalten der KI verĂ€ndert â sie spielt nicht mehr frei, sondern schreitet strikt anhand von tasks.md voran. Wenn du wĂ€hrend der Umsetzung feststellst, dass das Design nicht passt, kannst du direkt design.md anpassen und dann erneut apply ausfĂŒhren; die KI macht automatisch weiter.
Schritt 6: Validieren und Ănderung archivieren
Verifizieren (optional, aber empfohlen):
/opsx:verify
Die KI prĂŒft deine Umsetzung in drei Dimensionen:
| Dimension | Was wird geprĂŒft |
|---|---|
| Completeness | Sind alle Aufgaben aus tasks.md erledigt? Sind alle Szenarien aus der Spezifikation abgedeckt? |
| Correctness | Passt die Umsetzung zur Intention der Spezifikation? Wurden RandfÀlle behandelt? |
| Coherence | Spiegeln die Designentscheidungen aus design.md sich im Code wider? |
Archivieren:
/opsx:archive
Das Archivieren macht zwei Dinge:
- Die Delta-Spezifikation wird in die Hauptspezifikation
openspec/specs/ui/spec.mdzusammengefĂŒhrt. - Der Ănderungsordner wird nach
openspec/changes/archive/2026-04-11-add-dark-mode/verschoben.
Nach Abschluss des Archivierungsschritts ist die Spezifikationsdatei des Systems aktualisiert â du hast zusĂ€tzlich eine vollstĂ€ndige Historie der Ănderungen.
Schritt 7: Parallele Verwaltung mehrerer Ănderungen
In der realen Entwicklung wird man zwischendurch oft unterbrochen, um andere Probleme zu lösen. OpenSpec unterstĂŒtzt parallele Ănderungen:
# Angenommen, du arbeitest gerade an add-dark-mode und plötzlich muss ein Bug gefixt werden
/opsx:new fix-login-redirect
# Bug-Fix normal abschlieĂen
/opsx:ff
/opsx:apply
/opsx:archive
# ZurĂŒck zur Dark-Mode-Arbeit
/opsx:apply add-dark-mode
Wenn du mehrere Ănderungen abgeschlossen hast, archivierst du sie gemeinsam:
/opsx:bulk-archive
OpenSpec erkennt automatisch Spezifikationskonflikte (beide Ănderungen Ă€ndern specs/ui/) und fĂŒhrt sie in zeitlicher Reihenfolge zusammen.
Schritt 8: Schema anpassen
Der OPSX-Workflow von OpenSpec basiert auf einem Schema; du kannst die Arten von Artifacts und ihre AbhĂ€ngigkeitsbeziehungen vollstĂ€ndig selbst definieren. Zum Beispiel, wenn du einen Workflow âerst recherchieren, dann vorschlagenâ möchtest:
# Ein neues Schema aus dem Default-Schema ableiten
openspec schema fork spec-driven research-first
Die erzeugte Schema-Struktur:
openspec/schemas/research-first/
âââ schema.yaml
âââ templates/
âââ research.md
âââ proposal.md
âââ tasks.md
Das entsprechende AbhÀngigkeitsdiagramm wird:
research âââș proposal âââș tasks
In schema.yaml wird definiert:
# openspec/schemas/research-first/schema.yaml
name: research-first
artifacts:
- id: research
generates: research.md
requires: []
- id: proposal
generates: proposal.md
requires: [research]
- id: tasks
generates: tasks.md
requires: [proposal]
TIP
Wenn du das Schema unter openspec/schemas/ im Projektverzeichnis ablegst, wird es zusammen mit dem Projekt versioniert â so können alle Teammitglieder denselben Workflow verwenden.
Schritt 9: CLI hĂ€ufige Befehle â KurzĂŒberblick
# Initialisierung
openspec init
# KI-FĂ€higkeitsdateien aktualisieren (muss bei jedem Upgrade oder nach einem Profile-Wechsel ausgefĂŒhrt werden)
openspec update
# Aktuelle Konfiguration anzeigen
openspec config show
# Workflow-Profile wechseln
openspec config profile
# Aktive Ănderungen anzeigen
openspec list
# Details zu einer Ănderung anzeigen
openspec show add-dark-mode
# Format prĂŒfen
openspec validate add-dark-mode
# Interaktives Dashboard
openspec view
# Schema-Verwaltung
openspec schemas # verfĂŒgbare Schemas auflisten
openspec schema which --all # Schema-Quelle anzeigen
openspec schema validate my-schema # Schema validieren
HĂ€ufige Probleme beheben
1. Die KI findet den Befehl /opsx:propose nicht
Das ist das hĂ€ufigste Problem. Nach dem AusfĂŒhren von openspec init muss der KI-Assistant die Skill-Dateien neu laden. FĂŒhre aus:
openspec update
Dann starte das GesprĂ€ch neu. Wenn die KI es immer noch nicht erkennt, prĂŒfe manuell, ob das Verzeichnis .claude/ existiert.
2. openspec init meldet einen Node.js-Versionsfehler
node --version
# sicherstellen, dass >= 20.19.0
# falls die Version zu niedrig ist, mit nvm aktualisieren
nvm install 20 && nvm use 20
3. Konflikt beim ZusammenfĂŒhren von Delta-Spezifikationen
Beim AusfĂŒhren von /opsx:bulk-archive: Wenn zwei Ănderungen dieselbe Spezifikationsdatei Ă€ndern, erkennt OpenSpec das und weist dich darauf hin. StandardmĂ€Ăig wird nach Zeitreihenfolge zusammengefĂŒhrt; falls du manuell eingreifen musst:
# zuerst eine Ănderung separat archivieren
/opsx:archive fix-login-redirect
# dann die andere archivieren
/opsx:archive add-dark-mode
4. Laden eines benutzerdefinierten Schemas fehlgeschlagen
Meist liegt das an einem Syntaxfehler in schema.yaml. PrĂŒfe:
openspec schema validate my-schema
HĂ€ufige Fehler: Falsche YAML-EinrĂŒckungen; das Feld requires eines Artifacts verweist auf eine nicht existierende ID (zirkulĂ€re AbhĂ€ngigkeit).
5. Das von der KI generierte Spezifikationsformat erfĂŒllt nicht die Anforderungen
Du kannst in openspec/config.yaml Regeln hinzufĂŒgen:
rules:
specs:
- Verwende das GIVEN/WHEN/THEN-Format, um jedes Szenario zu beschreiben
- Jede Requirement muss mindestens ein Scenario enthalten
Diese Regeln werden als Anweisungen in die von der KI generierten Spezifikationen eingespeist.
6. WĂ€hrend /opsx:apply ĂŒberspringt die KI manche Aufgaben
Sag der KI direkt:
Bitte fĂŒhre die Aufgaben in der Reihenfolge aus, wie in tasks.md vorgegeben. Aufgabe 1.3 ist noch nicht abgeschlossen â nicht ĂŒberspringen.
Das fluid-Feature von OpenSpec erlaubt es dir, jederzeit Artifacts zu bearbeiten: Nachdem du tasks.md geĂ€ndert hast, fĂŒhre erneut apply aus â die KI setzt dort fort, wo sie zuletzt aufgehört hat.
WeiterfĂŒhrende LektĂŒre / Fortgeschrittene Ausrichtung
Delta-Specs â Format im Detail: Die drei Ănderungsarten ADDED/MODIFIED/REMOVED haben jeweils eigene Semantik â ADDED fĂŒgt neue Anforderungen hinzu, MODIFIED ersetzt bestehende Anforderungen, REMOVED entfernt veraltete Anforderungen. Wenn du ihre ZusammenfĂŒhrungsregeln beherrschst, ist das der SchlĂŒssel, um OpenSpec richtig zu nutzen.
OPSX vs. Legacy-Workflow â Vergleich: OpenSpec v1.x nutzt den Legacy-Workflow (/openspec:proposal), v1.2+ setzt vor allem auf OPSX. Der zentrale Unterschied: Legacy ist phase-locked (entweder alles oder nichts), OPSX ist fluid (du kannst jederzeit beliebige Artifacts bearbeiten).
Leitfaden fĂŒr die Integration von 20+ KI-Tools: OpenSpec erzeugt Skill-Dateien ĂŒber das Verzeichnis .claude/skills/ und ist mit Claude Code, Cursor, Windsurf, Copilot und anderen gĂ€ngigen Tools kompatibel. Siehe dazu docs/supported-tools.md.
Team-Slack-Integration: FĂŒr Enterprise-Teams kann man [email protected] kontaktieren, um Support in einem dedizierten Slack-Kanal zu erhalten â ideal fĂŒr Spezifikationsmanagement- und Review-Prozesse in Szenarien mit mehreren Beteiligten.
Tiefergehende Projektkonfiguration: Neben context und rules kannst du auch per config.yaml ein Default-Schema setzen und Projekt-Technik-Stack-Infos einspeisen (z. B. Testframework, Code-Style-Konventionen), damit die von der KI generierten Spezifikationen noch nÀher an deinem echten Projekt sind.