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¶
CLI Downloads¶
| Plattform | Architektur | Download |
|---|---|---|
| Linux | amd64 | Download |
| Linux | arm64 | Download |
| macOS | amd64 | Download |
| macOS | arm64 (Apple Silicon) | Download |
Installation & Update¶
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
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
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
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:
Fixes¶
- Release finalize: Block Push verwendet nun
PushBlockstattRunAction(korrektes Verhalten bei lokalen Blöcken) - Release finalize: Lokale Blöcke werden nicht mehr automatisch gepusht
- SDD Commands:
polycrate spec *undpolycrate 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¶
Oder laden Sie die Binaries direkt vom PolyHub herunter.