mitai-jinkendo/.claude/commands/refactor.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.3 KiB
Raw Blame History

Refactor

Refactore den Code ohne die Funktionalität zu ändern.

Wichtige Regel:

Erst planen, dann umsetzen niemals beides gleichzeitig. Zeige den Plan und warte auf Bestätigung bevor du Code schreibst.

Backend Refactoring (main.py aufteilen):

Zielstruktur:

backend/
├── main.py           # Nur App-Setup, Middleware, Router-Import (~100 Zeilen)
├── database.py       # DB-Verbindung, init_db, safe_alters, r2d()
├── auth.py           # require_auth, require_admin, hash_pin, verify_pin, sessions
├── models.py         # Alle Pydantic Models
├── email.py          # SMTP, send_email, email_html_wrapper
├── utils.py          # make_token(), helper functions
└── routers/
    ├── __init__.py
    ├── weight.py
    ├── caliper.py
    ├── circumference.py
    ├── nutrition.py
    ├── activity.py
    ├── photos.py
    ├── insights.py
    ├── prompts.py
    ├── admin.py
    └── export.py

Vorgehen:

  1. Analysiere main.py vollständig
  2. Erstelle Plan welche Zeilen wohin kommen
  3. Warte auf Bestätigung
  4. Erstelle neue Dateien eine nach der anderen
  5. Nach jeder Datei: Syntax prüfen
  6. main.py anpassen (imports + router registrierung)
  7. Finaler Test: Backend startet ohne Fehler

Syntax-Check nach jedem Schritt:

python3 -m py_compile backend/main.py
python3 -m py_compile backend/database.py
# etc.

Test nach Refactoring:

# Auf dem Pi:
docker compose build --no-cache backend
docker compose up -d
docker logs mitai-api --tail 20
curl -s http://localhost:8002/api/auth/status

Frontend Refactoring (Komponenten extrahieren):

Wiederverwendbare Komponenten extrahieren nach:

frontend/src/components/
├── MetricCard.jsx      # Kennzahl-Karte
├── ChartCombo.jsx      # Kombinations-Chart
├── LoadingSpinner.jsx  # Ladekreis
├── EmptyState.jsx      # Leerer Zustand
├── Avatar.jsx          # Nutzer-Avatar
└── ConfirmDialog.jsx   # Bestätigungs-Dialog

Vorgehen:

  1. Identifiziere wiederholte Code-Muster
  2. Extrahiere in eigene Komponenten
  3. Ersetze in allen Pages
  4. Frontend Build testen: cd frontend && npm run build

Nach dem Refactoring:

  • Commit mit refactor: Prefix
  • CLAUDE.md Verzeichnisstruktur aktualisieren
  • Kein neues Feature in diesem Commit!