Erste Schritte
Dieser Leitfaden erklärt, wie OpenSpec funktioniert, nachdem du es installiert und initialisiert hast. Installationsanweisungen findest du in der README oder im Installationsleitfaden. Neu in der gesamten Dokumentation? Die Dokumentations-Startseite bietet eine Übersicht über alles.
Wo gebe ich diese Befehle ein? Es gibt zwei Orte, und das Verwechseln ist der häufigste anfängliche Stolperstein.
openspec ...-Befehle (wieopenspec init) werden in deinem Terminal ausgeführt./opsx:...-Befehle (wie/opsx:propose) werden im Chat deines KI-Assistenten ausgeführt, in demselben Feld, in dem du ihn um Code bitten würdest.Es gibt keinen separaten „interaktiven Modus“, den du starten musst. Du gibst einfach den Slash-Befehl im Chat ein, und dein Assistent übernimmt von dort. Vollständige Erklärung: So funktionieren Befehle.
Deine ersten fünf Minuten
Der gesamte Ablauf, wobei jeder Schritt mit dem Ort markiert ist, an dem er stattfindet:
TERMINAL $ npm install -g @fission-ai/openspec@latest
TERMINAL $ cd your-project && openspec init
AI CHAT /opsx:explore (optional: think it through first)
AI CHAT /opsx:propose add-dark-mode (AI drafts the plan; you review it)
AI CHAT /opsx:apply (AI builds it)
AI CHAT /opsx:archive (specs updated, change filed away)Zwei Terminal-Schritte zum Einrichten, danach arbeitest du im Chat. Der Rest dieses Leitfadens erläutert, was jeder Schritt bewirkt und was du sehen wirst.
Möchtest du den Terminal-Teil nicht selbst machen? Füge den Setup-Prompt in deinen Assistenten ein, und er erledigt beide Zeilen und berichtet dann, was er erstellt hat.
Noch nicht sicher, was du bauen sollst? Beginne mit
/opsx:explore. Es ist ein risikoloser Denkpartner, der deine Codebasis liest, Optionen abwägt und eine vage Idee zu einem konkreten Plan schärft – alles bevor irgendein Artefakt oder Code existiert. Wenn das Bild klar ist, übergibt es an/opsx:propose. Das ist die beste Gewohnheit für die Arbeit mit einer KI, die ansonsten zuversichtlich das Falsche bauen würde. Siehe den Explore-Leitfaden.
Wie es funktioniert
OpenSpec hilft dir und deinem KI-Codierungsassistenten, sich darauf zu einigen, was gebaut werden soll, bevor irgendein Code geschrieben wird.
Standard-Schnellpfad (Kernprofil):
/opsx:explore ──► /opsx:propose ──► /opsx:apply ──► /opsx:sync ──► /opsx:archive
(optional)Beginne mit /opsx:explore, wenn du herausfindest, was du tun sollst, oder springe direkt zu /opsx:propose, wenn du es bereits weißt. Explore ist im Standardprofil enthalten, also immer verfügbar, wenn du es brauchst.
Erweiterter Pfad (benutzerdefinierte Workflow-Auswahl):
/opsx:new ──► /opsx:ff or /opsx:continue ──► /opsx:apply ──► /opsx:verify ──► /opsx:archiveDas standardmäßige globale Profil ist core, das propose, explore, apply, update, sync und archive enthält. Du kannst die erweiterten Workflow-Befehle mit openspec config profile und dann openspec update aktivieren.
Was OpenSpec erstellt
Nach dem Ausführen von openspec init hat dein Projekt diese Struktur:
openspec/
├── specs/ # Source of truth (your system's behavior)
│ └── <domain>/
│ └── spec.md
├── changes/ # Proposed updates (one folder per change)
│ └── <change-name>/
│ ├── proposal.md
│ ├── design.md
│ ├── tasks.md
│ └── specs/ # Delta specs (what's changing)
│ └── <domain>/
│ └── spec.md
└── config.yaml # Project configuration (optional)Zwei wichtige Verzeichnisse:
specs/– Die Quelle der Wahrheit. Diese Spezifikationen beschreiben, wie sich dein System derzeit verhält. Organisiert nach Domänen (z. B.specs/auth/,specs/payments/).changes/– Vorgeschlagene Änderungen. Jede Änderung erhält einen eigenen Ordner mit allen zugehörigen Artefakten. Wenn eine Änderung abgeschlossen ist, werden ihre Spezifikationen in das Hauptverzeichnisspecs/übernommen.
Artefakte verstehen
Jeder Änderungsordner enthält Artefakte, die die Arbeit leiten:
| Artefakt | Zweck |
|---|---|
proposal.md | Das „Warum“ und „Was“ – erfasst Absicht, Umfang und Ansatz |
specs/ | Delta-Spezifikationen, die ADDED/MODIFIED/REMOVED-Anforderungen zeigen |
design.md | Das „Wie“ – technischer Ansatz und Architekturentscheidungen |
tasks.md | Implementierungs-Checkliste mit Kontrollkästchen |
Artefakte bauen aufeinander auf:
proposal ──► specs ──► design ──► tasks ──► implement
▲ ▲ ▲ │
└───────────┴──────────┴────────────────────┘
update as you learnDu kannst jederzeit zu früheren Artefakten zurückkehren und sie verfeinern, wenn du während der Implementierung mehr lernst.
So funktionieren Delta-Spezifikationen
Delta-Spezifikationen sind das Schlüsselkonzept in OpenSpec. Sie zeigen, was sich relativ zu deinen aktuellen Spezifikationen ändert.
Das Format
Delta-Spezifikationen verwenden Abschnitte, um die Art der Änderung anzugeben:
# Delta for Auth
## ADDED Requirements
### Requirement: Two-Factor Authentication
The system MUST require a second factor during login.
#### Scenario: OTP required
- GIVEN a user with 2FA enabled
- WHEN the user submits valid credentials
- THEN an OTP challenge is presented
## MODIFIED Requirements
### Requirement: Session Timeout
The system SHALL expire sessions after 30 minutes of inactivity.
(Previously: 60 minutes)
#### Scenario: Idle timeout
- GIVEN an authenticated session
- WHEN 30 minutes pass without activity
- THEN the session is invalidated
## REMOVED Requirements
### Requirement: Remember Me
(Deprecated in favor of 2FA)Was beim Archivieren passiert
Wenn du eine Änderung archivierst:
- ADDED-Anforderungen werden an die Haupt-Spezifikation angehängt
- MODIFIED-Anforderungen ersetzen die vorhandene Version
- REMOVED-Anforderungen werden aus der Haupt-Spezifikation gelöscht
Der Änderungsordner wird für die Audit-Historie nach openspec/changes/archive/ verschoben.
Beispiel: Deine erste Änderung
Gehen wir durch, wie man einem Anwendungsbeispiel einen Dunkelmodus hinzufügt.
1. Die Änderung starten (Standard)
You: /opsx:propose add-dark-mode
AI: Created openspec/changes/add-dark-mode/
✓ proposal.md — why we're doing this, what's changing
✓ specs/ — requirements and scenarios
✓ design.md — technical approach
✓ tasks.md — implementation checklist
Ready for implementation!Wenn du das erweiterte Workflow-Profil aktiviert hast, kannst du dies auch in zwei Schritten tun: /opsx:new und dann /opsx:ff (oder /opsx:continue inkrementell).
2. Was erstellt wird
proposal.md – erfasst die Absicht:
# Proposal: Add Dark Mode
## Intent
Users have requested a dark mode option to reduce eye strain
during nighttime usage.
## Scope
- Add theme toggle in settings
- Support system preference detection
- Persist preference in localStorage
## Approach
Use CSS custom properties for theming with a React context
for state management.specs/ui/spec.md – Delta mit neuen Anforderungen:
# Delta for UI
## ADDED Requirements
### Requirement: Theme Selection
The system SHALL allow users to choose between light and dark themes.
#### Scenario: Manual toggle
- GIVEN a user on any page
- WHEN the user clicks the theme toggle
- THEN the theme switches immediately
- AND the preference persists across sessions
#### Scenario: System preference
- GIVEN a user with no saved preference
- WHEN the application loads
- THEN the system's preferred color scheme is usedtasks.md – Implementierungs-Checkliste:
# Tasks
## 1. Theme Infrastructure
- [ ] 1.1 Create ThemeContext with light/dark state
- [ ] 1.2 Add CSS custom properties for colors
- [ ] 1.3 Implement localStorage persistence
## 2. UI Components
- [ ] 2.1 Create ThemeToggle component
- [ ] 2.2 Add toggle to settings page
- [ ] 2.3 Update Header to include quick toggle
## 3. Styling
- [ ] 3.1 Define dark theme color palette
- [ ] 3.2 Update components to use CSS variables3. Implementieren
You: /opsx:apply
AI: Working through tasks...
✓ 1.1 Created ThemeContext with light/dark state
✓ 1.2 Added CSS custom properties to globals.css
✓ 1.3 Implemented localStorage persistence
✓ 2.1 Created ThemeToggle component
...
All tasks complete!Wenn du während der Implementierung feststellst, dass das Design angepasst werden muss, aktualisiere einfach das Artefakt und fahre fort.
4. Archivieren
You: /opsx:archive
AI: Archiving add-dark-mode...
✓ Merged specs into openspec/specs/ui/spec.md
✓ Moved to openspec/changes/archive/2025-01-24-add-dark-mode/
Done! Ready for the next feature.Deine Delta-Spezifikationen sind jetzt Teil der Haupt-Spezifikationen und dokumentieren, wie dein System funktioniert.
Überprüfen und Reviewen
Verwende die CLI, um deine Änderungen zu überprüfen:
# List active changes
openspec list
# View change details
openspec show add-dark-mode
# Validate spec formatting
openspec validate add-dark-mode
# Interactive dashboard
openspec viewNächste Schritte
- Erst erkunden – Verwende
/opsx:explore, um eine Idee zu durchdenken, bevor du dich festlegst - Eine Änderung überprüfen – Was du im Plan überprüfen solltest, den die KI entwirft, bevor irgendein Code geschrieben wird
- Gute Spezifikationen schreiben – Wie eine starke Anforderung und ein gutes Szenario aussehen
- OpenSpec in einem bestehenden Projekt verwenden – Beginne mit einer großen bestehenden Codebasis
- Bearbeiten und Iterieren einer Änderung – Artefakte aktualisieren, zurückgehen, manuelle Bearbeitungen abgleichen
- Kernkonzepte auf einen Blick – Das gesamte mentale Modell auf einer Seite
- Beispiele und Rezepte – Echte Änderungen von Anfang bis Ende
- Workflows – Häufige Muster und wann du welchen Befehl verwendest
- Befehle – Vollständige Referenz für alle Slash-Befehle
- Konzepte – Tieferes Verständnis von Spezifikationen, Änderungen und Schemas
- Anpassung – Bring OpenSpec auf deine Weise zum Laufen
- Stores – Planung, die Repos oder Teams umfasst? Behalte sie in einem eigenen Repo (Beta)
- FAQ und Fehlerbehebung – wenn du nicht weiterkommst