# Crash-Recovery-Protokoll Was tun, wenn Windows, VS Code oder der Rechner abstürzen und alle Claude-Sessions weg sind? Hier die Schritt-für-Schritt-Anleitung. ## Was überlebt einen Absturz immer - Alle **Code-Dateien** auf der Platte - Alle **Inbox-Nachrichten** (Markdown in `App/sims/_inbox/`) - Alle **Memory-Einträge** von Atlas (`~/.claude/projects/.../memory/`) - Alle **DB-Inhalte** (MySQL) - Alle **Git-Commits** (lokal im `.git/`-Ordner) - Die **_status.md** jeder Instanz (siehe unten) ## Was verloren geht - Der laufende Chat jeder Instanz - Kontext, den eine Instanz im Kopf hatte (welche Dateien gerade gelesen, welche Gedanken gerade offen) --- ## Wiederherstellung — Schritt für Schritt ### 1. Atlas (Plattform-Zentrale) reaktivieren Starte eine neue Claude-Code-Session im Projektordner. Erster Prompt: ``` Du bist Atlas, die Plattform-Zentrale. Lies als erstes: 1. ~/.claude/projects/c--xampp-htdocs-geograsim/memory/MEMORY.md 2. App/sims/_inbox/zentrale/ (neuste 10 Nachrichten) Dann melde dich bei mir mit einem Statusbericht: Welche Module aktiv, welche Aufträge offen, welche Probleme drohen. ``` ### 2. Aktive Modul-Instanzen reaktivieren Für jede Instanz (Klima, Fluss, Glossar, Lehrplan) — neue Session, erster Prompt: ``` Du bist die {Name}-Instanz im GeoGraSim-Projekt. Lies als erstes: 1. App/sims/_inbox/{ordner}/_status.md (falls vorhanden — aktueller Stand) 2. App/sims/_inbox/{ordner}/ (neuste Nachrichten, chronologisch) 3. App/docs/module-interface.md (wenn du das Interface neu brauchst) Melde dich dann bei Thomas mit: "Hier {Name}, habe Stand rekonstruiert, arbeite an {Task}, als nächstes {Next-Step}." ``` Mapping Name → Ordner: - **Atlas** → `_inbox/zentrale/` - **Klima** → `_inbox/klima/` - **Glossar** → `_inbox/glossar/` - **Lehrplan** → `_inbox/content/` - **Fluss** → `_inbox/fluss/` ### 3. Git-Stand prüfen ```bash cd c:/xampp/htdocs/geograsim git status git log --oneline -10 ``` Falls uncommittete Änderungen da sind: die Instanz, die dran war, muss entscheiden, ob sie sie übernimmt oder verwirft. Im Zweifel **erst committen**, dann Instanz Stand lesen lassen. ### 4. Prüfe auf laufende Background-Tasks Manchmal laufen Python-Scripts (Audio-Generierung, DB-Seeds) im Hintergrund. Nach Crash sind die tot — einfach neu starten. --- ## Status-Datei `_status.md` Jede Instanz führt eine `_status.md` in ihrer eigenen Inbox. Struktur: ```markdown --- instanz: klima zuletzt_aktualisiert: 2026-04-18 22:45 session_id: informell (z.B. "engine-refactor-phase-1") --- # Aktueller Stand ## Wo ich stehe Schritt 2 fertig (Engine extrahiert, 2D umgestellt). Schritte 3-5 (3D V2) offen. ## Zuletzt geänderte Dateien - App/sims/klima/engine.js (neu) - App/sims/klima/game-2d.html (refactored, −515 Zeilen) ## Als nächstes Schritt 3: game-3d.html V2 aufbauen, Three.js per CDN, Three.js-Szene aus V1 portieren. ## Offene Entscheidungen - 2D/3D-Toggle auf modul-klima.php (mit Lehrplan abstimmen) ## Blocker Keine. ``` **Updates:** - Bei jedem grösseren Fortschritt überschreiben (nicht append) - Am Session-Ende definitiv aktualisieren - Bei Pause/Übergabe ebenfalls **Atlas pflegt seine Status-Datei in `_inbox/zentrale/_status.md`.** --- ## Commit-Konvention ### Wer committet - **Atlas** committet projektweite Änderungen (Design-System, APIs, Admin, gemeinsame Docs) - **Jede Modul-Instanz** committet ihre eigenen Änderungen (App/sims//*, App/pages/*.php, modul-spezifische Assets) ### Wann committen **Pflicht:** - Am Ende jeder Arbeits-Session (auch wenn unfertig) - Nach jedem bedeutenden Meilenstein (neues Feature, Phase abgeschlossen) - Vor jedem Kontext-Wechsel (neue Session übernimmt) **Empfohlen:** - Täglich mindestens einmal - Nach grösseren Refactorings - Bevor riskante Experimente starten ### Commit-Message-Format ``` : Co-Authored-By: Claude Opus 4.7 (1M context) ``` Beispiele: ``` Klima: Engine extrahiert (Schritt 1-2) Klima: WIP 3D V2, Three.js-Setup + Insel-Geometrie Fluss: Phase 1 fertig - PHP-Wrapper + leeres Canvas Atlas: Music-Registry erweitert um Drama-Slot Glossar: 5 Repräsentationsbilder im Querformat ``` ### Commit-Befehl ```bash cd c:/xampp/htdocs/geograsim git add git commit -m ": " # Kein push — lokal reicht (kein Remote eingerichtet) ``` --- ## Optional: Remote-Backup Momentan **kein Remote** eingerichtet. Bei Festplatten-Defekt wäre alles verloren. Möglichkeiten (entscheidet Thomas): 1. **Eigener Server** (geograsim.at hat SSH): Meister-Instanz kann ein Bare-Repo in `/root/git/geograsim.git` einrichten. Dann `git push` als Backup. 2. **Externe Platte**: `robocopy` nach USB-HDD, täglich. 3. **Keine Cloud-Dienste** (Thomas hat GitHub abgelehnt). Atlas schlägt vor, irgendwann Option 1 einzurichten. Nicht akut, aber planbar.