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

2.1 KiB

Fix Bug

Strukturierter Workflow für Fehlerbehebung mit Bug-Tracking.

Workflow

1. Bug in KNOWN_ISSUES.md finden

cat .claude/docs/KNOWN_ISSUES.md | grep -A 20 "BUG-XXX"

2. Status auf "In Bearbeitung"

**Status:** 🟡 In Bearbeitung

3. Logs analysieren

Docker Logs:

docker logs -f dev-mitai-api | grep "ERROR\|Exception"
docker logs dev-mitai-api --tail 100

Feature-Logs:

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

# Backend Syntax
python3 -m py_compile backend/[file].py

# Frontend Build
cd frontend && npm run build

7. Commit

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