9a61f55cb1
- Design-System (assets/css/design-system.css) mit 21 Komponenten, iPad-Responsive-Breakpoints, Touch-Ziele 36px, Music-Player, Glossar-Tooltips - Templates (sims/template.html + student/teacher-Dashboard) - Docs: module-interface.md (inkl. 4a Sprachregel, 4b Leichte Sprache, 4c iPad), content-architecture.md, crash-recovery.md, music-registry.md - Admin-Infrastruktur: admin-modules.html + api/admin-modules.php (Titel, Emoji, Bild, Status, Dauer, Alter pro Modul) - Inbox-System: _inbox/README.md + _status.md fuer Atlas + Briefings an Klima, Glossar, Lehrplan, Fluss - Zentrale SFX-Pipeline (scripts/generate-sounds.py) - DALL-E-Bilder: 8 Badges + 5 Glossar-Repraesentationsbilder (Querformat) - Logo + Inter-Font lokal - PHP-APIs: admin, glossar, levels, licenses, progress, waypoints, assignments, profile, tickets - Spielsprache entfernt (admin-modules, admin-levels, schueler) - Landing-Page-Bearbeitungen (Boote sichtbarer, Button-Hintergrund) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
185 lines
4.9 KiB
Markdown
185 lines
4.9 KiB
Markdown
# 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/<modul>/*, App/pages/<modul>*.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
|
||
|
||
```
|
||
<Instanz>: <Kurzbeschreibung>
|
||
|
||
<Längere Erklärung falls nötig — was und warum>
|
||
|
||
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
```
|
||
|
||
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 <dateien>
|
||
git commit -m "<Instanz>: <Kurzbeschreibung>"
|
||
# 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.
|