Best-Practice-Referenz in CLAUDE.md verankern #1

Merged
martin merged 1 commits from feat/best-practice-reference into main 2026-04-19 11:03:37 +02:00
Showing only changes of commit 4c3e6ad12d - Show all commits
+105
View File
@@ -0,0 +1,105 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Zweck
Dieses Repository enthält die globale Claude-Code-Workflow-Konfiguration für alle Projekte von Martin Tröger. Es definiert Skills, Agenten, Hooks und Dokumentation — kein ausführbarer Anwendungscode.
## Workflow-Weiterentwicklung
Beim Aktualisieren dieses Workflows immer zuerst die externe Best-Practice-Referenz konsultieren und auf relevante Neuerungen prüfen:
**https://github.com/shanraisshan/claude-code-best-practice**
Vorgehen: URL via `WebFetch` abrufen → mit aktuellem Workflow vergleichen → Abweichungen bewerten → bei Bedarf anpassen.
## Struktur
```
workflow/ ← Referenzdokumentation (täglich lesen)
README.md ← Schnellreferenz: Welcher Befehl für welche Phase
models.md ← Modell-Strategie + Kostenmatrix
story-lifecycle.md ← Story-Phasen im Detail
skills/ ← Slash-Commands (Symlinks nach ~/.claude/skills/)
agents/ ← Agenten-Definitionen (Symlinks nach ~/.claude/agents/)
hooks/ ← Shell-Hooks (durch settings.json registriert)
SETUP.md ← Einrichtung nach System-Neuinstallation
```
## Aktivierung (nach Neuinstallation)
```bash
# Skills und Agent verlinken
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
ln -sf /mnt/projekte/claude-workflow/agents/plan-reviewer.md ~/.claude/agents/plan-reviewer.md
# Hook-Skripte ausführbar machen
chmod +x /mnt/projekte/claude-workflow/hooks/*.sh
```
Die `hooks`-Sektion in `~/.claude/settings.json` manuell eintragen (siehe `SETUP.md`).
## Story-Lifecycle
```
Research → Plan (Opus) → /plan-review → Implement (Sonnet) → /go → Security-Audit
```
Kurzbefehl für den gesamten Ablauf: `/story`
| Phase | Befehl | Modell |
|---|---|---|
| Planung | `EnterPlanMode` | Opus 4.7 |
| Plan-Review | `/plan-review` | Opus 4.7 (Subagent) |
| Implementierung | direkt | Sonnet 4.6 |
| Test + Simplify + PR | `/go` | Haiku / Sonnet (Subagenten) |
| 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 |
## Agenten
| Agent | Modell | Tools | Rolle |
|---|---|---|---|
| `plan-reviewer` | Opus 4.7 | Read, Glob, Grep | Prüft Pläne auf Vollständigkeit, Risiken, fehlende Tests |
| `test-runner` | Sonnet | alle | Tests ausführen, Coverage prüfen |
| `security-audit` | Sonnet | alle | OWASP-Analyse, Security-Tests schreiben |
| `n8n-architect` | Sonnet | alle | n8n-Workflow-Design und Refactoring |
## Hooks
| Event | Trigger | Skript | Aktion |
|---|---|---|---|
| `PostToolUse` | Edit / Write | `hooks/auto-format.sh` | `ruff` (Python) oder `eslint --fix` (JS/TS/Vue) |
| `Stop` | Session-Ende | `hooks/verify-on-stop.sh` | Uncommittete Änderungen anzeigen |
`auto-format.sh` liest den Dateipfad aus `$CLAUDE_TOOL_INPUT_FILE_PATH` und erkennt den Typ anhand der Dateiendung.
## Modell-Strategie
- **Opus 4.7**: Planung, Plan-Review, Security-Audit — überall wo Fehlentscheidungen teuer sind
- **Sonnet 4.6**: Implementierung, Refactoring, Bug-Fixes (Standard)
- **Haiku 4.5**: Tests, Lint, Format, PR-Beschreibung
`/fast` aktiviert Opus 4.7 mit schnellerer Ausgabe — sinnvoll bei langen Implementierungen.
## Kontext-Management
- **< 200k Tokens**: Normal weiterarbeiten
- **200350k Tokens**: `/compact "aktueller Stand: [Hinweis]"` ausführen
- **> 350k Tokens**: Neue Session, isolierte Subagenten bevorzugen
## Gitea-Integration
- Instanz: `https://gitea.troeger-net.org`
- Token für `/go`-Skill: `$(secret-tool lookup user claude-code token gitea)`
- MCP-Server `gitea` muss aktiv sein (Binary: `~/go/bin/gitea-mcp`)