--- name: bump-version description: > Versionsverwaltung für whisper-local: aktualisiert die Version in pyproject.toml nach SemVer, erstellt einen Git-Commit und setzt ein Git-Tag. IMMER aktivieren wenn der Nutzer einen Git-Commit erstellen möchte — dann zuerst fragen ob die Version mit gebumpt werden soll, bevor der Commit gemacht wird. Auch direkt aktivieren wenn der Nutzer die Version erhöhen, ein Release erstellen oder einen neuen Stand taggen möchte. --- # Version Bump für whisper-local ## Modus A — Commit-Anfrage (Normalfall) Wenn der Nutzer einen Git-Commit erstellen möchte, **bevor** du den Commit machst: Frage einmal kurz: > „Soll ich die Version in `pyproject.toml` mit aktualisieren? (aktuell: X.Y.Z) — patch / minor / major / nein" - Antwortet er mit patch / minor / major: führe zuerst den **Versions-Bump** durch (Schritte 1–5 unten), dann committe **alle** vorgesehenen Änderungen zusammen in einem einzigen Commit (nicht zwei separate Commits). - Antwortet er mit nein oder macht keine Angabe: Commit wie gewohnt, kein Versions-Bump. ## Modus B — Direkter Versions-Bump Wenn der Nutzer explizit die Version erhöhen will (z.B. „bump patch", „minor release", „Version auf 2.0.0"): Führe direkt Schritte 1–6 aus, ohne vorher zu fragen. --- ## Ablauf Versions-Bump ### 1. Aktuelle Version ermitteln ``` uv version --short ``` ### 2. Neue Version setzen Verwende `uv version --bump` statt `pyproject.toml` direkt zu bearbeiten: | Nutzerintention | Befehl | |---|---| | `patch` / Bugfix / klein | `uv version --bump patch` | | `minor` / Feature / neu | `uv version --bump minor` | | `major` / Breaking / groß | `uv version --bump major` | Wenn der Nutzer eine konkrete Zielversion nennt (z.B. „auf 2.0.0"): ``` uv version 2.0.0 ``` `uv version --bump` aktualisiert `pyproject.toml` und `uv.lock` automatisch. Die neue Version gibt der Befehl direkt aus — lies `pyproject.toml` danach nicht erneut ein. ### 3. Git-Commit erstellen **Modus A:** Stage `pyproject.toml` und `uv.lock` zusammen mit allen anderen vorgesehenen Änderungen. Der Commit-Titel bleibt die vom Nutzer gewünschte Beschreibung — füge am Ende hinzu: `(bump NEUE_VERSION)`. **Modus B:** Stage `pyproject.toml` und `uv.lock`, Commit-Nachricht: ``` chore: bump version to NEUE_VERSION ``` ### 5. Git-Tag setzen ``` git tag -a vNEUE_VERSION -m "Version NEUE_VERSION" ``` ### 6. Bestätigung ausgeben (nur Modus B) ``` Version: 1.2.0 → 1.3.0 Commit: chore: bump version to 1.3.0 Tag: v1.3.0 Zum Pushen: git push && git push --tags ``` ## Hinweise - Stelle die Versions-Frage nur einmal — wenn der Nutzer nicht antwortet oder „nein" sagt, nicht erneut fragen. - Wenn unklar ist, welche SemVer-Komponente gemeint ist, frage einmal kurz nach. - Im Modus A keinen separaten Versions-Commit erstellen — alles in einen Commit.