ship: neuer Skill für finales Commit → PR → Merge → Cleanup
Explizit vom User aufzurufen wenn ein Feature abgeschlossen ist. Ersetzt den manuellen Workflow: commit, push, PR erstellen, approve, mergen, checkout main, Branches aufräumen. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -56,15 +56,17 @@ Kurzbefehl für den gesamten Ablauf: `/story`
|
||||
| Plan-Review | `/plan-review` | Opus 4.7 (Subagent) |
|
||||
| Implementierung | direkt | Sonnet 4.6 |
|
||||
| Test + Simplify + PR | `/go` | Haiku / Sonnet (Subagenten) |
|
||||
| Commit + PR + Merge | `/ship` | Sonnet (fork) |
|
||||
| Security-Audit | `security-audit`-Agent | Opus 4.7 |
|
||||
|
||||
## Skills
|
||||
|
||||
| Befehl | Datei | Beschreibung |
|
||||
|---|---|---|
|
||||
| `/go` | `skills/go.md` | test-runner → code-simplifier → Gitea-PR |
|
||||
| `/plan-review` | `skills/plan-review.md` | Startet plan-reviewer-Agent (Opus, fork) |
|
||||
| `/story` | `skills/story.md` | Voller Lifecycle von Research bis PR |
|
||||
| `/go` | `skills/go/SKILL.md` | test-runner → code-simplifier → Gitea-PR |
|
||||
| `/ship` | `skills/ship/SKILL.md` | Commit → Push → PR → Merge → Cleanup (finales Kommando) |
|
||||
| `/plan-review` | `skills/plan-review/SKILL.md` | Startet plan-reviewer-Agent (Opus, fork) |
|
||||
| `/story` | `skills/story/SKILL.md` | Voller Lifecycle von Research bis PR |
|
||||
|
||||
## Agenten
|
||||
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
---
|
||||
description: Finales Commit → Push → PR erstellen → Mergen → Aufräumen. Explizit vom User aufzurufen wenn ein Feature abgeschlossen ist.
|
||||
context: fork
|
||||
---
|
||||
|
||||
# /ship — Commit, PR, Merge, Cleanup
|
||||
|
||||
Führe diese Schritte der Reihe nach aus. Bei jedem Fehler: Abbruch mit klarer Fehlermeldung.
|
||||
|
||||
## Schritt 1: Commit
|
||||
|
||||
Prüfe ob es uncommittete Änderungen gibt:
|
||||
```
|
||||
git status
|
||||
git diff --stat
|
||||
```
|
||||
|
||||
Falls ja: Erstelle einen Commit. Leite den Commit-Titel aus den geänderten Dateien und `git diff --stat` ab. Nutze das HEREDOC-Format:
|
||||
```
|
||||
git add -p ← nur wenn sinnvoll, sonst: git add <spezifische Dateien>
|
||||
git commit -m "..."
|
||||
```
|
||||
|
||||
Falls nichts zu committen: weiter mit Schritt 2.
|
||||
|
||||
## Schritt 2: Push
|
||||
|
||||
```
|
||||
git push
|
||||
```
|
||||
|
||||
Falls der Branch noch kein Remote-Tracking hat:
|
||||
```
|
||||
git push -u origin <branch>
|
||||
```
|
||||
|
||||
## Schritt 3: PR erstellen
|
||||
|
||||
Ermittle Branch-Namen und Commits seit main:
|
||||
```
|
||||
git branch --show-current
|
||||
git log --oneline origin/main..HEAD
|
||||
```
|
||||
|
||||
Erstelle den PR via `mcp__gitea__pull_request_write` (method: create):
|
||||
- `owner`: aus git remote URL ermitteln
|
||||
- `repo`: aus git remote URL ermitteln
|
||||
- `head`: aktueller Branch
|
||||
- `base`: main
|
||||
- `title`: Erster Commit-Titel des Branches
|
||||
- `body`: Alle Commits als Aufzählung + Akzeptanzkriterien als Checkboxen (was wurde geändert, wie verifiziert)
|
||||
|
||||
Merke dir den PR-Index aus der Antwort.
|
||||
|
||||
## Schritt 4: PR freigeben (Approve)
|
||||
|
||||
Genehmige den PR via `mcp__gitea__pull_request_review_write` (method: create_review):
|
||||
- `review_type`: APPROVED
|
||||
- `body`: "Automatisch freigegeben via /ship"
|
||||
|
||||
## Schritt 5: PR mergen
|
||||
|
||||
Merge via `mcp__gitea__pull_request_write` (method: merge):
|
||||
- `merge_style`: merge
|
||||
- `delete_branch`: true ← löscht Remote-Branch automatisch
|
||||
|
||||
## Schritt 6: Checkout main + Pull
|
||||
|
||||
```
|
||||
git checkout main
|
||||
git pull
|
||||
```
|
||||
|
||||
## Schritt 7: Lokale Branches aufräumen
|
||||
|
||||
```
|
||||
git branch -d <feature-branch>
|
||||
git remote prune origin
|
||||
```
|
||||
|
||||
Falls `git branch -d` scheitert (Branch nicht vollständig gemergt laut git): trotzdem löschen mit `-D`, da wir wissen dass der PR gemergt wurde.
|
||||
|
||||
## Abschluss
|
||||
|
||||
Gib aus:
|
||||
- PR-URL
|
||||
- Welche Branches gelöscht wurden
|
||||
- Aktueller Stand von `git log --oneline -3`
|
||||
Reference in New Issue
Block a user