Zum Inhalt

Polycrate CLI 0.32.0

Release-Datum: 30. März 2026
Typ: Feature-Release

Highlights

Polycrate CLI 0.32.0 erweitert das in 0.31.0 eingeführte Spec-Driven Development (SDD) erheblich: Spec-Typen nach Conventional Commits, maschinenlesbare Abhängigkeiten, Labels, Quick-Capture, verbesserte Validierung und Release-Guards machen das System robuster für den Einsatz mit Coding Agents. Dazu kommen Bugfixes im Release-Prozess und der Index-Wiederherstellung.

Artefakte

Docker Images

docker pull cargo.ayedo.cloud/library/polycrate:0.32.0

CLI Downloads

Plattform Architektur Download
Linux amd64 Download
Linux arm64 Download
macOS amd64 Download
macOS arm64 (Apple Silicon) Download

Installation & Update

polycrate update 0.32.0

Installationsanleitung

Neue Features

Spec-Typen (Conventional Commits)

Jede Spec hat nun einen Typ nach Conventional Commits. Der Typ steuert, welche Sektionen beim spec create als Scaffolding erzeugt werden, und aktiviert typ-spezifische Validierungsregeln.

polycrate spec create --name "Fix login bug"  --type fix      # Family A: Problem → Root Cause → Solution
polycrate spec create --name "Add dark mode"  --type feat     # Family B: Feature Description → Solution
polycrate spec create --name "Drop v1 API"    --type breaking # Family C: wie B + Migration (Pflicht)

polycrate spec update <id> --set type=refactor

Gültige Typen: fix | perf | feat | refactor | chore | docs | ci | build | style | test | breaking | analysis

Spec-Typen — Dokumentation

Abhängigkeiten (needs) und Labels

Specs können nun von anderen Specs abhängig sein. spec finalize verhindert den Abschluss solange Abhängigkeiten nicht implementiert sind. Self-references und Zirkularitäten werden verhindert.

# Spec 5 blockiert bis Specs 3 und 4 implemented sind
polycrate spec link 5 --needs 3 --needs 4

# Äquivalent:
polycrate spec update 5 --add-needs 3 --add-needs 4
polycrate spec update 5 --remove-needs 3

# Labels für Filterung
polycrate spec update 5 --add-label sdd --add-label agent
polycrate spec list --label sdd --blocked

Abhängigkeiten & Labels

Quick-Capture: spec note

Neues Subcommand für schnelles Erfassen von Observations während der Implementierung — ohne den aktuellen Kontext zu unterbrechen:

polycrate spec note "S3 upload schlägt still fehl bei 403" --type fix --label s3
# → Erstellt planned Spec sofort, gibt ID zurück, weiterarbeiten

Quickstart

Sektionen aus Datei und Stdin

spec update unterstützt nun zwei neue Wege zum Befüllen von Sektionen — ideal für längere Inhalte und Pipes:

# Aus Datei
polycrate spec update 0 --section-file solution=/tmp/solution.md

# Aus Stdin
cat /tmp/analysis.txt | polycrate spec update 0 --section-stdin analysis

# Kombinierbar mit --section (alle in einem Aufruf)
polycrate spec update 0 \
  --section problem="Kurzbeschreibung" \
  --section-file solution=/tmp/solution.md

Verbesserte Validierung

spec validate gibt nun aktionierbare Fehlermeldungen mit Fix-Commands aus:

WARNING: spec 5 [feat]: both 'Feature Description' and 'Solution' are empty
  → Fix: polycrate spec update 5 --section feature-description="Intent and scope."

ERROR: spec 12 [breaking]: 'Migration' section is empty — required for type=breaking
  → Fix: polycrate spec update 12 --section-file migration=/tmp/migration.md

spec list — kompaktes Tabellenformat

spec list zeigt nun per Default eine kompakte Tabelle statt JSON und unterstützt neue Filter:

polycrate spec list                    # Tabelle, cancelled ausgeblendet
polycrate spec list --label sdd        # nach Label filtern
polycrate spec list --type fix         # nach Typ filtern
polycrate spec list --blocked          # nur Specs mit ausstehenden Abhängigkeiten
polycrate spec list --all              # inkl. cancelled Specs
polycrate spec list --format json      # maschinenlesbar

Release-Guards

release finalize prüft nun vor dem Abschluss automatisch Vorbedingungen:

Guard Verhalten
0 Specs zugewiesen Error
Specs nicht implemented (oder cancelled) Error
message-Feld leer Warning
docs_url fehlt Warning in release status
Git-Tag existiert bereits Error (--force zum Überschreiben)
# Dokumentations-Link setzen
polycrate release update 0.32.0 --set docs_url="https://docs.ayedo.de/polycrate/releases/cli/0.32.0/"

# Status und Warnings prüfen vor finalize
polycrate release status 0.32.0

status: cancelled für Specs

Specs können nun nicht-destruktiv archiviert werden — Feature abgelehnt oder durch andere Spec ersetzt:

polycrate spec update <id> --set status=cancelled \
  --set cancellation_reason="Replaced by spec #18"

Cancelled Specs erscheinen nicht in spec list (nur mit --all) und werden von spec validate ignoriert.

Agent-Rules mit Versionsheader

spec rules generate erzeugt jetzt Dateien mit einem Versionsheader, der anzeigt, mit welcher Polycrate-Version die Rules generiert wurden. Nach jedem Upgrade empfohlen:

polycrate spec rules generate --force

Fixes

  • Release finalize: Block Push verwendet nun PushBlock statt RunAction (korrektes Verhalten bei lokalen Blöcken)
  • Release finalize: Lokale Blöcke werden nicht mehr automatisch gepusht
  • SDD Commands: polycrate spec * und polycrate release * starten keinen vollständigen Workspace mehr — kein Docker-Start, schneller und sandbox-freundlich
  • spec index rebuild: Erkennt Legacy-Formate automatisch und vergibt stabile IDs via Dateiname-Hash statt rein sequenziell

polycrate-operator Block

Der polycrate-operator Block sollte auf die aktuelle Version aktualisiert werden:

polycrate pull cargo.ayedo.cloud/ayedo/k8s/polycrate-operator
polycrate run polycrate-operator install

Jetzt aktualisieren

polycrate update 0.32.0

Oder laden Sie die Binaries direkt vom PolyHub herunter.