8abaf39a3a
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
87 lines
2.8 KiB
Markdown
87 lines
2.8 KiB
Markdown
---
|
||
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.
|