Přeskočit obsah

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.