feat(claude): bump-version Skill hinzugefügt
Neuer projektspezifischer Skill, der bei Commit-Anfragen automatisch fragt ob die Version (pyproject.toml, SemVer) mit gebumpt werden soll, und bei direkten Release-Anfragen Version + Commit + Git-Tag erstellt. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Skill(bump-version)",
|
||||
"Skill(bump-version:*)",
|
||||
"Bash(git branch *)"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(git add:*)",
|
||||
"Bash(git commit -m ':*)",
|
||||
"Bash(bash C:/Users/vgraf/.claude/plugins/cache/claude-plugins-official/superpowers/5.0.7/scripts/start-server.sh --project-dir /c/Users/vgraf/git/whisper-local)",
|
||||
"Bash(bash \"C:/Users/vgraf/.claude/plugins/cache/claude-plugins-official/superpowers/5.0.7/skills/brainstorming/scripts/start-server.sh\" --project-dir /c/Users/vgraf/git/whisper-local)",
|
||||
"Bash(git commit:*)",
|
||||
"Bash(git check-ignore:*)",
|
||||
"Bash(git worktree:*)",
|
||||
"Bash(uv run:*)",
|
||||
"Bash(uv lock:*)",
|
||||
"Bash(python -c ':*)",
|
||||
"Bash(python3)",
|
||||
"Bash(git checkout:*)",
|
||||
"Bash(git pull:*)",
|
||||
"WebSearch",
|
||||
"Bash(git tag:*)"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
---
|
||||
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
|
||||
|
||||
Lies `pyproject.toml` und extrahiere die `version`-Zeile im `[project]`-Block.
|
||||
Format: `MAJOR.MINOR.PATCH` (z.B. `1.2.0`).
|
||||
|
||||
### 2. Neue Version berechnen
|
||||
|
||||
| Nutzerintention | Regel | Beispiel |
|
||||
|---|---|---|
|
||||
| `patch` / Bugfix / klein | PATCH +1 | `1.2.0` → `1.2.1` |
|
||||
| `minor` / Feature / neu | MINOR +1, PATCH=0 | `1.2.0` → `1.3.0` |
|
||||
| `major` / Breaking / groß | MAJOR +1, MINOR=0, PATCH=0 | `1.2.0` → `2.0.0` |
|
||||
|
||||
Wenn der Nutzer eine konkrete Zielversion nennt (z.B. „auf 2.0.0"), verwende diese direkt.
|
||||
|
||||
### 3. pyproject.toml aktualisieren
|
||||
|
||||
Ersetze exakt die Zeile `version = "ALTE_VERSION"` durch `version = "NEUE_VERSION"`.
|
||||
Ändere nichts anderes in der Datei.
|
||||
|
||||
### 4. Git-Commit erstellen
|
||||
|
||||
**Modus A:** Stage `pyproject.toml` 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 nur `pyproject.toml`, 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.
|
||||
Reference in New Issue
Block a user