Validace a životní cyklus specifikací¶
Validace specifikací¶
JSON Schema validace¶
Každá specifikace musí projít validací:
# Validace jednotlivé změny
openspec validate add-barcode-scan --strict
# Validace všech změn
openspec validate --changes
# Validace všech specs
openspec validate --specs
# Validace všeho
openspec validate --all
Pravidla validace¶
Pro specs (aktuální pravdu)¶
- ✅ Musí mít sekci
## Purpose - ✅ Musí mít sekci
## Requirements - ✅ Každý requirement musí mít
### Requirement:header - ✅ Každý requirement musí obsahovat SHALL nebo MUST
- ✅ Každý requirement musí mít ≥1
#### Scenario: - ✅ Žádné duplicitní requirement headers
Pro changes (delta specifikace)¶
- ✅ Musí mít alespoň jednu delta operaci (ADDED/MODIFIED/REMOVED/RENAMED)
- ✅ ADDED/MODIFIED requirements musí mít kompletní text
- ✅ ADDED/MODIFIED musí obsahovat SHALL/MUST
- ✅ ADDED/MODIFIED musí mít ≥1 scenario
- ✅ REMOVED pouze jména (ne obsah)
- ✅ RENAMED musí mít FROM a TO
- ✅ Žádné duplicity mezi sekcemi
Příklad validační chyby¶
✗ Validation failed for add-barcode-scan
warehouse/spec.md:
- ERROR at ADDED[0]: Requirement "Skenování čárových kódů"
missing SHALL/MUST keyword
→ Add: "Systém MUSÍ umožnit skenování..."
- WARNING at MODIFIED[0]: Requirement "Automatické číslování"
scenario count changed from 1 to 2
→ Consider if additional scenario is necessary
Životní cyklus specifikace¶
1. Vytvoření návrhu změny¶
sequenceDiagram
participant Dev as Developer
participant Spec as Specifikace
participant Review as Review
participant Impl as Implementace
Dev->>Spec: Vytvoř changes/add-feature/
Dev->>Spec: Napiš proposal.md
Dev->>Spec: Napiš tasks.md
Dev->>Spec: Napiš delta specs
Dev->>Spec: openspec validate --strict
Spec->>Review: Předej k review
Review-->>Dev: Feedback
Dev->>Spec: Oprav podle feedbacku
Review->>Impl: Schváleno
Impl->>Spec: Implementuj podle spec
Impl->>Spec: openspec archive add-feature
2. Archivace dokončené změny¶
Po implementaci a validaci:
# Ověření, že implementace odpovídá spec
openspec validate add-barcode-scan --strict
# Archivace - aplikuje delta na specs/
openspec archive add-barcode-scan --yes
# Výsledek:
# - specs/warehouse/spec.md je aktualizován
# - changes/add-barcode-scan/ přesunuto do archive/
CLI příkazy¶
# Inicializace OpenSpec v projektu
openspec init
# Seznam aktivních změn
openspec list
# Seznam specs
openspec list --specs
# Zobrazení detailu
openspec show add-barcode-scan
# Validace
openspec validate add-barcode-scan --strict
# Archivace
openspec archive add-barcode-scan --yes
# Aktualizace instrukcí
openspec update
AI Agent příkazy¶
Pro AI asistenty jsou dostupné slash commands:
/openspec:proposal- Vytvoření nového návrhu změny/openspec:apply- Implementace schváleného návrhu/openspec:archive- Archivace dokončené změny
➡️ Pokračujte na Iterativní vývoj pro workflow průběžného vývoje.