mitai-jinkendo/.claude/commands/fix-bug.md
Lars 7940dc7560 docs: Struktur .claude/docs versionieren, working/, Gitea-Index, Regeln
- .gitignore: .claude/docs, rules, commands tracken; settings.local weiter ignorieren
- DOCUMENTATION.md: verbindliche Ablage functional/technical/working/issues
- .claude/README.md: Agent-Einstieg; GITEA_ISSUES_INDEX aus MCP (Stand 2026-04-08)
- Arbeitspapiere von docs/ nach .claude/docs/working/ verschoben
- docs/MEMBERSHIP_SYSTEM.md als Stub; kanonisch technical/MEMBERSHIP_SYSTEM.md
- CLAUDE.md Pflichtlektüre und Links angepasst; docs/README.md vereinfacht

Made-with: Cursor
2026-04-08 13:01:49 +02:00

101 lines
2.1 KiB
Markdown

# Fix Bug
Strukturierter Workflow für Fehlerbehebung mit Bug-Tracking.
## Workflow
### 1. Bug in KNOWN_ISSUES.md finden
```bash
cat .claude/docs/KNOWN_ISSUES.md | grep -A 20 "BUG-XXX"
```
### 2. Status auf "In Bearbeitung"
```markdown
**Status:** 🟡 In Bearbeitung
```
### 3. Logs analysieren
**Docker Logs:**
```bash
docker logs -f dev-mitai-api | grep "ERROR\|Exception"
docker logs dev-mitai-api --tail 100
```
**Feature-Logs:**
```bash
tail -f backend/logs/feature-usage.log | jq .
```
### 4. Bug reproduzieren
- Schritte aus KNOWN_ISSUES.md nachstellen
- Fehler verifizieren
- Root Cause identifizieren (nicht nur Symptom!)
### 5. Fix implementieren
- Minimal invasive Änderung
- Keine "Verbesserungen" nebenbei
- Kommentiere komplexe Fixes
### 6. Testen
```bash
# Backend Syntax
python3 -m py_compile backend/[file].py
# Frontend Build
cd frontend && npm run build
```
### 7. Commit
```bash
git add [files]
git commit -m "fix: [BUG-XXX] Kurzbeschreibung
Root Cause: [Ursache]
Lösung: [Was geändert]
Tested: [Wie getestet]
Closes: BUG-XXX"
```
### 8. KNOWN_ISSUES.md aktualisieren
Nach Deploy:
- Status: ✅ Behoben (Commit `hash`)
- Ins Archiv verschieben
## Debugging-Checkliste
### Frontend-Bugs
- Browser Console (F12) → Fehler lesen
- Network Tab → API-Call prüfen
- Häufig:
- 401: Token fehlt → api.js nutzen
- undefined: Optional chaining `?.` verwenden
- Weißer Screen: JS-Fehler in Console
### Backend-Bugs
- Docker Logs → Traceback analysieren
- Syntax: `python3 -m py_compile backend/[file].py`
- Häufig:
- TypeError: Type-Konvertierung fehlt
- 404: Router nicht registriert
- 500: Unbehandelte Exception
### Häufige Fehler
- `session=Depends(require_auth)` in `Header()` → separater Parameter!
- `dayjs.week()` → Native ISO-Wochenberechnung
- `datetime.date` vs. `str` → Type-Check
- PostgreSQL Boolean: `true` nicht `1`
## Commit-Format
```
fix: [BUG-XXX] Kurze Beschreibung
Problem: TypeError in /api/nutrition/weekly
Root Cause: d['date'] ist datetime.date, nicht str
Lösung: Check if already datetime.date object
Tested: /nutrition Tab lädt ohne Error
Closes: BUG-XXX
```