Optimaler Entwicklungs-Workflow eingerichtet
- workflow/: Schnellreferenz, Modell-Strategie, Story-Lifecycle-Doku - skills/: /go, /plan-review, /story als globale Skills - hooks/: auto-format.sh (PostToolUse), verify-on-stop.sh (Stop) - agents/: plan-reviewer (Opus 4.7) für unabhängigen Plan-Review - Symlinks in ~/.claude/skills/ und ~/.claude/agents/ - settings.json um Hooks-Sektion erweitert Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,65 @@
|
|||||||
|
# Setup-Anleitung
|
||||||
|
|
||||||
|
## Einmalige Einrichtung (bereits ausgeführt)
|
||||||
|
|
||||||
|
### 1. Skills verlinken
|
||||||
|
```bash
|
||||||
|
mkdir -p ~/.claude/skills
|
||||||
|
ln -sf /mnt/projekte/claude-workflow/skills/go.md ~/.claude/skills/go.md
|
||||||
|
ln -sf /mnt/projekte/claude-workflow/skills/plan-review.md ~/.claude/skills/plan-review.md
|
||||||
|
ln -sf /mnt/projekte/claude-workflow/skills/story.md ~/.claude/skills/story.md
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Agent verlinken
|
||||||
|
```bash
|
||||||
|
ln -sf /mnt/projekte/claude-workflow/agents/plan-reviewer.md ~/.claude/agents/plan-reviewer.md
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Hooks aktivieren
|
||||||
|
In `~/.claude/settings.json` die `hooks`-Sektion ist bereits eingetragen.
|
||||||
|
|
||||||
|
### 4. Hook-Skripte ausführbar machen
|
||||||
|
```bash
|
||||||
|
chmod +x /mnt/projekte/claude-workflow/hooks/*.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
## Nach System-Neuinstallation
|
||||||
|
|
||||||
|
Die vier Symlink-Befehle aus Schritt 1+2 erneut ausführen.
|
||||||
|
Die `hooks`-Sektion in `settings.json` erneut eintragen.
|
||||||
|
|
||||||
|
## Verzeichnis-Struktur
|
||||||
|
|
||||||
|
```
|
||||||
|
/mnt/projekte/claude-workflow/
|
||||||
|
├── SETUP.md ← Diese Datei
|
||||||
|
├── workflow/
|
||||||
|
│ ├── README.md ← Schnellreferenz (täglich nutzen)
|
||||||
|
│ ├── models.md ← Modell-Strategie + Kosten
|
||||||
|
│ └── story-lifecycle.md ← Story-Phasen im Detail
|
||||||
|
├── skills/
|
||||||
|
│ ├── go.md ← /go: Test + Simplify + PR
|
||||||
|
│ ├── plan-review.md ← /plan-review: Opus reviewt Plan
|
||||||
|
│ └── story.md ← /story: Voller Lifecycle
|
||||||
|
├── hooks/
|
||||||
|
│ ├── auto-format.sh ← PostToolUse: ruff/eslint
|
||||||
|
│ └── verify-on-stop.sh ← Stop: Git-Status-Erinnerung
|
||||||
|
└── agents/
|
||||||
|
└── plan-reviewer.md ← Opus-basierter Plan-Reviewer
|
||||||
|
```
|
||||||
|
|
||||||
|
## Globale ~/.claude Verzeichnisse (nach Setup)
|
||||||
|
|
||||||
|
```
|
||||||
|
~/.claude/
|
||||||
|
├── skills/
|
||||||
|
│ ├── go.md → Symlink zu claude-workflow/skills/go.md
|
||||||
|
│ ├── plan-review.md → Symlink
|
||||||
|
│ └── story.md → Symlink
|
||||||
|
├── agents/
|
||||||
|
│ ├── plan-reviewer.md → Symlink zu claude-workflow/agents/plan-reviewer.md
|
||||||
|
│ ├── test-runner.md (original)
|
||||||
|
│ ├── security-audit.md (original)
|
||||||
|
│ └── n8n-architect.md (original)
|
||||||
|
└── settings.json (Hooks eingetragen)
|
||||||
|
```
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
---
|
||||||
|
name: plan-reviewer
|
||||||
|
description: Unabhängiger Plan-Reviewer. Prüft Implementierungspläne auf Vollständigkeit, fehlende Tests, Security-Risiken und Migrations-Korrektheit. Wird durch /plan-review aktiviert.
|
||||||
|
model: claude-opus-4-7
|
||||||
|
tools: Read, Glob, Grep
|
||||||
|
---
|
||||||
|
|
||||||
|
Du bist ein erfahrener Software-Architekt und Code-Reviewer. Deine Aufgabe ist es, Implementierungspläne kritisch zu prüfen — bevor Code geschrieben wird.
|
||||||
|
|
||||||
|
## Dein Vorgehen
|
||||||
|
|
||||||
|
1. Lies den aktuellen Plan (neueste Datei in `/home/martin/.claude/plans/`)
|
||||||
|
2. Lies die CLAUDE.md des betroffenen Projekts
|
||||||
|
3. Analysiere den Plan systematisch
|
||||||
|
|
||||||
|
## Prüfkriterien
|
||||||
|
|
||||||
|
**Vollständigkeit**
|
||||||
|
- Sind alle Akzeptanzkriterien messbar formuliert?
|
||||||
|
- Sind API-Endpoints, Services und Modelle vollständig aufgelistet?
|
||||||
|
- Sind Frontend-Komponenten und Routen berücksichtigt?
|
||||||
|
|
||||||
|
**Tests**
|
||||||
|
- Unit-Tests für jeden Service?
|
||||||
|
- Integration-Tests für API-Endpoints?
|
||||||
|
- Security-Tests für Auth-Pfade?
|
||||||
|
- E2E-Tests für kritische Flows?
|
||||||
|
|
||||||
|
**Datenbank**
|
||||||
|
- Alembic-Migration für jede Schema-Änderung?
|
||||||
|
- Seed-Daten für Lookup-Tabellen eingeplant?
|
||||||
|
- Eager-Loading in der API-Schicht berücksichtigt?
|
||||||
|
|
||||||
|
**Security**
|
||||||
|
- Input-Validierung (Pydantic-Schemas / Trimming)?
|
||||||
|
- Auth-Checks auf allen geschützten Endpoints?
|
||||||
|
- Keine HTTP-Exceptions in Services?
|
||||||
|
|
||||||
|
**Architektur**
|
||||||
|
- api/ → services/ → models/ Richtung eingehalten?
|
||||||
|
- HTTPException nur in api/-Schicht?
|
||||||
|
- Keine zirkulären Abhängigkeiten?
|
||||||
|
|
||||||
|
## Ausgabe-Format
|
||||||
|
|
||||||
|
```
|
||||||
|
## Plan-Review: [Plan-Name]
|
||||||
|
|
||||||
|
### ✅ OK
|
||||||
|
- [konkrete Punkte die gut sind]
|
||||||
|
|
||||||
|
### ⚠️ Risiko
|
||||||
|
- [Punkt]: [Warum problematisch] → [Empfehlung]
|
||||||
|
|
||||||
|
### ❌ Fehlt
|
||||||
|
- [Was fehlt]: [Warum notwendig]
|
||||||
|
|
||||||
|
### Empfehlung
|
||||||
|
[FREIGABE: Implementierung kann starten]
|
||||||
|
[ANPASSEN: Diese Punkte zuerst ergänzen: ...]
|
||||||
|
```
|
||||||
|
|
||||||
|
Sei präzise und konkret. Keine allgemeinen Empfehlungen.
|
||||||
Executable
+33
@@ -0,0 +1,33 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# PostToolUse-Hook: Formatiert geänderte Dateien nach Edit/Write
|
||||||
|
# Wird von settings.json nach Edit- und Write-Tool-Aufrufen ausgeführt
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Dateiname aus Umgebungsvariable (Claude Code setzt CLAUDE_TOOL_INPUT_FILE_PATH)
|
||||||
|
FILE="${CLAUDE_TOOL_INPUT_FILE_PATH:-}"
|
||||||
|
|
||||||
|
if [[ -z "$FILE" || ! -f "$FILE" ]]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
EXT="${FILE##*.}"
|
||||||
|
|
||||||
|
case "$EXT" in
|
||||||
|
py)
|
||||||
|
if command -v ruff &>/dev/null; then
|
||||||
|
ruff format --quiet "$FILE" 2>/dev/null || true
|
||||||
|
ruff check --fix --quiet "$FILE" 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
js|ts|vue|jsx|tsx)
|
||||||
|
DIR=$(dirname "$FILE")
|
||||||
|
if [[ -f "$DIR/package.json" ]] || [[ -f "$DIR/../package.json" ]]; then
|
||||||
|
if command -v npx &>/dev/null; then
|
||||||
|
npx --yes eslint --fix --quiet "$FILE" 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
||||||
Executable
+32
@@ -0,0 +1,32 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Stop-Hook: Prüft ob offene Tasks oder ungestartete Tests vorhanden sind
|
||||||
|
# Gibt eine Erinnerung aus, blockiert aber nicht
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
REMINDERS=()
|
||||||
|
|
||||||
|
# Prüfe ob wir in einem Git-Repo sind
|
||||||
|
if git rev-parse --git-dir &>/dev/null 2>&1; then
|
||||||
|
# Uncommitted changes?
|
||||||
|
if ! git diff --quiet 2>/dev/null || ! git diff --cached --quiet 2>/dev/null; then
|
||||||
|
REMINDERS+=("⚠️ Uncommittete Änderungen vorhanden — committen nicht vergessen")
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Ungetrackte Dateien?
|
||||||
|
UNTRACKED=$(git ls-files --others --exclude-standard 2>/dev/null | wc -l)
|
||||||
|
if [[ "$UNTRACKED" -gt 0 ]]; then
|
||||||
|
REMINDERS+=("ℹ️ $UNTRACKED ungetrackte Datei(en) — ggf. zu .gitignore hinzufügen")
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${#REMINDERS[@]} -gt 0 ]]; then
|
||||||
|
echo ""
|
||||||
|
echo "╭─ Session-Erinnerung ───────────────────────────────"
|
||||||
|
for r in "${REMINDERS[@]}"; do
|
||||||
|
echo "│ $r"
|
||||||
|
done
|
||||||
|
echo "╰────────────────────────────────────────────────────"
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
description: Führt nach einer Implementierung Tests aus, vereinfacht den Code und erstellt einen PR in Gitea. Aktivieren wenn eine Feature-Implementierung abgeschlossen ist und ein PR erstellt werden soll.
|
||||||
|
context: fork
|
||||||
|
---
|
||||||
|
|
||||||
|
# /go — Test + Simplify + PR
|
||||||
|
|
||||||
|
Führe diese drei Schritte der Reihe nach aus:
|
||||||
|
|
||||||
|
## Schritt 1: Tests ausführen
|
||||||
|
|
||||||
|
Starte den `test-runner`-Agenten. Warte auf das Ergebnis.
|
||||||
|
Wenn Tests fehlschlagen: Abbruch, Fehlerbericht ausgeben.
|
||||||
|
|
||||||
|
## Schritt 2: Code vereinfachen
|
||||||
|
|
||||||
|
Starte den `code-simplifier`-Agenten für alle in dieser Session geänderten Dateien.
|
||||||
|
Ziel: Redundanzen entfernen, Lesbarkeit verbessern, keine neuen Features einführen.
|
||||||
|
|
||||||
|
## Schritt 3: PR erstellen
|
||||||
|
|
||||||
|
Ermittle den aktuellen Branch-Namen und die Commit-Zusammenfassung:
|
||||||
|
```
|
||||||
|
!git log --oneline origin/main..HEAD
|
||||||
|
!git branch --show-current
|
||||||
|
```
|
||||||
|
|
||||||
|
Erstelle den PR via Gitea-API:
|
||||||
|
- Gitea-Instanz: `https://gitea.troeger-net.org`
|
||||||
|
- Token: `$(secret-tool lookup user claude-code token gitea)`
|
||||||
|
- PR-Titel: Erster Commit-Titel des Branches
|
||||||
|
- PR-Body: Alle Akzeptanzkriterien als Checkboxen + Verifikations-Hinweis
|
||||||
|
|
||||||
|
Gib die PR-URL aus.
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
description: Startet einen unabhängigen Opus-Agenten der den aktuellen Plan auf Vollständigkeit, Risiken und fehlende Tests prüft. Aktivieren nach der Planungsphase, bevor die Implementierung beginnt.
|
||||||
|
context: fork
|
||||||
|
---
|
||||||
|
|
||||||
|
# /plan-review — Unabhängiger Plan-Review
|
||||||
|
|
||||||
|
Starte den `plan-reviewer`-Agenten mit folgendem Auftrag:
|
||||||
|
|
||||||
|
1. Lies den aktuellen Plan aus `/home/martin/.claude/plans/` (neueste Datei)
|
||||||
|
2. Lies die CLAUDE.md des aktuellen Projekts
|
||||||
|
3. Prüfe den Plan auf:
|
||||||
|
- **Vollständigkeit**: Sind alle Akzeptanzkriterien abgedeckt?
|
||||||
|
- **Tests**: Sind Unit-, Integration- und Security-Tests eingeplant?
|
||||||
|
- **Migrations**: Sind Alembic-Migrationen für Schema-Änderungen vorgesehen?
|
||||||
|
- **Security**: Sind Input-Validierung und Auth-Checks berücksichtigt?
|
||||||
|
- **Abhängigkeiten**: Fehlen Abhängigkeiten zu anderen Modulen?
|
||||||
|
- **Risiken**: Was kann schiefgehen?
|
||||||
|
|
||||||
|
Ausgabe-Format:
|
||||||
|
```
|
||||||
|
## Plan-Review
|
||||||
|
|
||||||
|
### ✅ OK
|
||||||
|
- [was in Ordnung ist]
|
||||||
|
|
||||||
|
### ⚠️ Risiko
|
||||||
|
- [potenzielle Probleme mit Empfehlung]
|
||||||
|
|
||||||
|
### ❌ Fehlt
|
||||||
|
- [was ergänzt werden muss, bevor implementiert werden darf]
|
||||||
|
|
||||||
|
### Empfehlung
|
||||||
|
[Implementierung freigeben / Plan zuerst anpassen]
|
||||||
|
```
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
---
|
||||||
|
description: Orchestriert den vollständigen Story-Lifecycle von Planung bis PR. Aktivieren wenn eine neue User Story oder ein neues Feature implementiert werden soll.
|
||||||
|
---
|
||||||
|
|
||||||
|
# /story — Voller Story-Lifecycle
|
||||||
|
|
||||||
|
Führe den Story-Lifecycle vollständig durch. Warte nach jeder Phase auf Bestätigung.
|
||||||
|
|
||||||
|
## Phase 1: Research
|
||||||
|
|
||||||
|
Starte bis zu 3 Explore-Subagenten parallel für:
|
||||||
|
- Bestehende Implementierungen im relevanten Bereich finden
|
||||||
|
- Test-Patterns und -Setup analysieren
|
||||||
|
- Abhängige Services/Modelle identifizieren
|
||||||
|
|
||||||
|
Hole Context-7-Dokumentation für alle beteiligten Frameworks:
|
||||||
|
```
|
||||||
|
mcp__plugin_context7_context7__resolve-library-id
|
||||||
|
mcp__plugin_context7_context7__query-docs
|
||||||
|
```
|
||||||
|
|
||||||
|
## Phase 2: Planung
|
||||||
|
|
||||||
|
Wechsle auf Opus: Sage dem Nutzer: "Wechsle für die Planung auf /model opus"
|
||||||
|
Aktiviere Plan-Modus.
|
||||||
|
Erstelle einen detaillierten Plan mit Akzeptanzkriterien.
|
||||||
|
|
||||||
|
## Phase 3: Plan-Review
|
||||||
|
|
||||||
|
Rufe `/plan-review` auf.
|
||||||
|
Warte auf das Ergebnis.
|
||||||
|
Bei ❌-Punkten: Plan anpassen, dann erneut reviewen.
|
||||||
|
Bei ✅ Freigabe: weiter.
|
||||||
|
|
||||||
|
## Phase 4: Implementierung
|
||||||
|
|
||||||
|
Sage dem Nutzer: "Wechsle für die Implementierung auf /model sonnet"
|
||||||
|
Feature-Branch erstellen:
|
||||||
|
```
|
||||||
|
!git checkout -b feature/<story-name>
|
||||||
|
```
|
||||||
|
Implementierung durchführen. Commits stündlich.
|
||||||
|
|
||||||
|
## Phase 5: Abschluss
|
||||||
|
|
||||||
|
Rufe `/go` auf (Test + Simplify + PR).
|
||||||
|
Warte auf PR-URL.
|
||||||
|
|
||||||
|
Ausgabe: PR-URL + kurze Zusammenfassung was implementiert wurde.
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
# Claude Code Workflow — Schnellreferenz
|
||||||
|
|
||||||
|
## Story-Lifecycle
|
||||||
|
|
||||||
|
| Phase | Befehl / Agent | Modell |
|
||||||
|
|---|---|---|
|
||||||
|
| 1. Planung | `EnterPlanMode` | Sonnet |
|
||||||
|
| 2. Plan-Review | `/plan-review` | **Opus 4.7** |
|
||||||
|
| 3. Implementierung | Claude direkt | **Sonnet 4.6** |
|
||||||
|
| 4. Test + Simplify + PR | `/go` | Haiku / Sonnet |
|
||||||
|
| 5. Security-Audit | `security-audit`-Agent | **Opus 4.7** |
|
||||||
|
|
||||||
|
Kurzform für den kompletten Lifecycle: `/story`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Modell-Matrix
|
||||||
|
|
||||||
|
| Aufgabe | Modell | Warum |
|
||||||
|
|---|---|---|
|
||||||
|
| Planung, Review | Opus 4.7 | Qualität entscheidend |
|
||||||
|
| Implementierung | Sonnet 4.6 | Bestes Preis-Leistungs-Verhältnis |
|
||||||
|
| Tests, Lint, Format | Haiku 4.5 | Schnell + günstig |
|
||||||
|
| Security-Audit | Opus 4.7 | Sicherheit hat Priorität |
|
||||||
|
| PR-Erstellung | Haiku 4.5 | Mechanische Aufgabe |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Skills (Slash-Commands)
|
||||||
|
|
||||||
|
| Befehl | Beschreibung | Datei |
|
||||||
|
|---|---|---|
|
||||||
|
| `/go` | Tests + Simplify + PR in einem Schritt | `skills/go.md` |
|
||||||
|
| `/plan-review` | Opus reviewt aktuellen Plan | `skills/plan-review.md` |
|
||||||
|
| `/story` | Voller Story-Lifecycle | `skills/story.md` |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Aktive Hooks
|
||||||
|
|
||||||
|
| Event | Aktion | Skript |
|
||||||
|
|---|---|---|
|
||||||
|
| `PostToolUse` (Edit/Write) | Auto-Format (ruff / eslint) | `hooks/auto-format.sh` |
|
||||||
|
| `Stop` | Offene Tasks prüfen | `hooks/verify-on-stop.sh` |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Agenten
|
||||||
|
|
||||||
|
| Agent | Modell | Aufgabe |
|
||||||
|
|---|---|---|
|
||||||
|
| `test-runner` | Sonnet | Tests ausführen, Coverage prüfen |
|
||||||
|
| `security-audit` | Sonnet | OWASP-Analyse, Security-Tests |
|
||||||
|
| `plan-reviewer` | **Opus 4.7** | Plan auf Lücken/Risiken prüfen |
|
||||||
|
| `n8n-architect` | Sonnet | n8n-Workflow-Design |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## MCP-Server
|
||||||
|
|
||||||
|
| Server | Wann nutzen |
|
||||||
|
|---|---|
|
||||||
|
| `context7` | Bei jeder Bibliothek/Framework-Frage |
|
||||||
|
| `n8n-local` | n8n-Workflow-Inspektion |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Kontext-Management
|
||||||
|
|
||||||
|
- **< 200k Tokens**: Normal weiterarbeiten
|
||||||
|
- **200–350k Tokens**: `/compact` mit konkretem Hinweis ausführen
|
||||||
|
- **> 350k Tokens**: Neue Session, Subagenten für Isolation nutzen
|
||||||
|
- Nie auf automatisches Compacting verlassen — manuell mit Hints ist besser
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Weitere Details
|
||||||
|
|
||||||
|
- Modell-Strategie: `models.md`
|
||||||
|
- Story-Lifecycle: `story-lifecycle.md`
|
||||||
|
- Installation/Setup: `../SETUP.md`
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
# Modell-Strategie
|
||||||
|
|
||||||
|
## Grundprinzip
|
||||||
|
|
||||||
|
Teures Modell nur dort, wo Qualität den Unterschied macht.
|
||||||
|
Günstiges Modell für mechanische, wiederholbare Aufgaben.
|
||||||
|
|
||||||
|
## Modell-Übersicht (Stand April 2026)
|
||||||
|
|
||||||
|
| Modell | ID | Stärke | Relative Kosten |
|
||||||
|
|---|---|---|---|
|
||||||
|
| Opus 4.7 | `claude-opus-4-7` | Höchste Reasoning-Qualität, adaptives Thinking | ●●●●● |
|
||||||
|
| Sonnet 4.6 | `claude-sonnet-4-6` | Ausgewogen, sehr gute Codequalität | ●●●○○ |
|
||||||
|
| Haiku 4.5 | `claude-haiku-4-5-20251001` | Schnell, kostengünstig | ●○○○○ |
|
||||||
|
|
||||||
|
## Zuordnung nach Phase
|
||||||
|
|
||||||
|
### Planung & Review → Opus 4.7
|
||||||
|
Warum: Ein schlechter Plan kostet mehr Zeit als das teurere Modell.
|
||||||
|
```
|
||||||
|
/model opus
|
||||||
|
```
|
||||||
|
Einsatz:
|
||||||
|
- `EnterPlanMode`
|
||||||
|
- `/plan-review`
|
||||||
|
- Architektur-Entscheidungen
|
||||||
|
- Risiko-Analysen
|
||||||
|
|
||||||
|
### Implementierung → Sonnet 4.6
|
||||||
|
Warum: Ausreichende Qualität bei deutlich niedrigeren Kosten als Opus.
|
||||||
|
```
|
||||||
|
/model sonnet (Standard / Default)
|
||||||
|
```
|
||||||
|
Einsatz:
|
||||||
|
- Feature-Implementierung
|
||||||
|
- Refactoring
|
||||||
|
- Bug-Fixes
|
||||||
|
- Frontend-Entwicklung
|
||||||
|
|
||||||
|
### Tests / Lint / Format → Haiku 4.5
|
||||||
|
Warum: Mechanische Aufgaben brauchen kein Reasoning.
|
||||||
|
```
|
||||||
|
/model haiku
|
||||||
|
```
|
||||||
|
Einsatz:
|
||||||
|
- `test-runner`-Agent
|
||||||
|
- Auto-Format-Hook
|
||||||
|
- PR-Beschreibung generieren
|
||||||
|
- Einfache Datei-Operationen
|
||||||
|
|
||||||
|
### Security-Audit → Opus 4.7
|
||||||
|
Warum: Sicherheitslücken zu übersehen kostet mehr als das Modell.
|
||||||
|
```
|
||||||
|
/model opus
|
||||||
|
```
|
||||||
|
Einsatz:
|
||||||
|
- `security-audit`-Agent
|
||||||
|
- Permission-Scan im PreToolUse-Hook
|
||||||
|
|
||||||
|
## Kontext-Degradation
|
||||||
|
|
||||||
|
Bei langen Sessions sinkt die Qualität aller Modelle:
|
||||||
|
- **Sonnet**: Degradation ab ~300k Tokens
|
||||||
|
- **Opus**: Robuster, aber ab ~400k Tokens trotzdem besser compacten
|
||||||
|
|
||||||
|
Strategie:
|
||||||
|
1. `/compact "aktueller Stand: [Zusammenfassung]"` bei 200–350k
|
||||||
|
2. Neue Session + Subagenten bei > 350k
|
||||||
|
3. Subagenten schützen Haupt-Kontext generell (immer bevorzugen für isolierte Aufgaben)
|
||||||
|
|
||||||
|
## Fast Mode
|
||||||
|
|
||||||
|
`/fast` aktiviert Opus 4.7 mit schnellerer Ausgabe (kein Downgrade).
|
||||||
|
Sinnvoll bei: Langen Implementierungen mit Opus, wo Wartezeit stört.
|
||||||
|
|
||||||
|
## Kosten-Faustregeln
|
||||||
|
|
||||||
|
- 10 Story-Punkte Implementierung: ~80% Sonnet, ~20% Opus
|
||||||
|
- Security-Audit pro Story: immer Opus (< 5% der Gesamtkosten, schützt vor Regressionen)
|
||||||
|
- Test-Runner: immer Haiku (< 2% der Gesamtkosten)
|
||||||
|
- Faustregel: Opus nur für Entscheidungen, Sonnet für Umsetzung, Haiku für Verifikation
|
||||||
@@ -0,0 +1,122 @@
|
|||||||
|
# Story-Lifecycle
|
||||||
|
|
||||||
|
## Übersicht
|
||||||
|
|
||||||
|
```
|
||||||
|
Research → Plan → Review → Implement → Test → Security → PR
|
||||||
|
```
|
||||||
|
|
||||||
|
Kurzbefehl für alles: `/story`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 1: Research
|
||||||
|
|
||||||
|
Ziel: Verstehen was gebaut werden soll und was bereits existiert.
|
||||||
|
|
||||||
|
```
|
||||||
|
# Subagenten für parallele Exploration starten
|
||||||
|
Agent(Explore): Bestehende Implementierungen finden
|
||||||
|
Agent(Explore): Test-Patterns analysieren
|
||||||
|
```
|
||||||
|
|
||||||
|
Checkliste:
|
||||||
|
- [ ] Ähnliche bestehende Funktionen gefunden?
|
||||||
|
- [ ] Abhängige Modelle/Services identifiziert?
|
||||||
|
- [ ] Test-Setup verstanden?
|
||||||
|
- [ ] CLAUDE.md des Projekts gelesen?
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 2: Planung
|
||||||
|
|
||||||
|
```
|
||||||
|
/model opus # Für beste Planqualität
|
||||||
|
EnterPlanMode
|
||||||
|
```
|
||||||
|
|
||||||
|
Checkliste:
|
||||||
|
- [ ] Context-7 für alle beteiligten Frameworks konsultiert?
|
||||||
|
- [ ] Akzeptanzkriterien definiert?
|
||||||
|
- [ ] Test-Typen festgelegt (Unit / Integration / E2E)?
|
||||||
|
- [ ] Migrations-Bedarf (Alembic) geprüft?
|
||||||
|
- [ ] Security-relevante Pfade markiert?
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 3: Plan-Review
|
||||||
|
|
||||||
|
```
|
||||||
|
/plan-review # Startet Opus-basierten plan-reviewer-Agent
|
||||||
|
```
|
||||||
|
|
||||||
|
Der Agent prüft:
|
||||||
|
- Vollständigkeit der Akzeptanzkriterien
|
||||||
|
- Fehlende Test-Abdeckung
|
||||||
|
- Security-Risiken
|
||||||
|
- Abhängigkeiten zu anderen Features
|
||||||
|
- Migrations-Korrektheit
|
||||||
|
|
||||||
|
Erst nach ✅ des Reviews: Implementierung starten.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 4: Implementierung
|
||||||
|
|
||||||
|
```
|
||||||
|
/model sonnet # Zurück auf Sonnet
|
||||||
|
ExitPlanMode
|
||||||
|
```
|
||||||
|
|
||||||
|
Regeln:
|
||||||
|
- Feature-Branch (niemals direkt auf `main`)
|
||||||
|
- Commits mind. stündlich
|
||||||
|
- Kleine, fokussierte Commits
|
||||||
|
- Subagenten für isolierte Teilaufgaben nutzen
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 5: Test + Simplify + PR
|
||||||
|
|
||||||
|
```
|
||||||
|
/go
|
||||||
|
```
|
||||||
|
|
||||||
|
Führt aus:
|
||||||
|
1. `test-runner`-Agent (Haiku): Tests + Coverage
|
||||||
|
2. `code-simplifier`-Agent: Code-Review + Refactoring
|
||||||
|
3. PR-Erstellung via Gitea-API
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 6: Security-Audit
|
||||||
|
|
||||||
|
Wird automatisch nach jeder Story durch CLAUDE.md-Regel ausgelöst,
|
||||||
|
oder manuell:
|
||||||
|
|
||||||
|
```
|
||||||
|
# security-audit-Agent starten (Opus)
|
||||||
|
Agent(security-audit): Neuen Code auf Sicherheitslücken prüfen
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 7: PR-Review & Merge
|
||||||
|
|
||||||
|
- Akzeptanzkriterien einzeln als Checkboxen im PR
|
||||||
|
- Review-Feedback als separater Commit (nicht amenden)
|
||||||
|
- Squash-Merge auf main
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Kontext-Strategie pro Phase
|
||||||
|
|
||||||
|
| Phase | Kontext-Empfehlung |
|
||||||
|
|---|---|
|
||||||
|
| Research | Subagenten (Explore) — schützt Haupt-Kontext |
|
||||||
|
| Planung | Haupt-Kontext, Opus |
|
||||||
|
| Review | Subagent (plan-reviewer) |
|
||||||
|
| Implementierung | Haupt-Kontext, bei > 200k: /compact |
|
||||||
|
| Test | Subagent (test-runner) |
|
||||||
|
| Security | Subagent (security-audit) |
|
||||||
|
| PR | Subagent oder Haiku direkt |
|
||||||
Reference in New Issue
Block a user