diff --git a/CLAUDE.md b/CLAUDE.md index ef5ec9d..cb5de31 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -204,6 +204,32 @@ regeln: - "Backup-Dateien (.bak) nicht committen, vor Push loeschen" ``` +## UI-Sync mit dem Lokal-Fork (verbindlich) + +> Seit 2026-07-25. Die Oberflächen von Online-Monitor und Lokal-Fork bleiben angeglichen. + +```yaml +ui_sync: + regel: "Jede Änderung unter src/static wird noch in derselben Sitzung ins jeweils andere Repo portiert." + lokal_repo: "AegisSight/AegisSight-Monitor-Local (Branch main, läuft auf dem Windows-Rechner des Nutzers)" + portieren: + lokal_nach_online: | + In einem temporären Klon dieses Repos (Branch develop) den Lokal-Fork als Remote + hinzufügen, fetchen, git cherry-pick (gemeinsame Historie, Drei-Wege-Merge + funktioniert), dann push origin develop. NIE auf main pushen, Live nur per Promote-UI. + online_nach_lokal: "Im Lokal-Fork: git fetch online && git cherry-pick (Remote 'online' ist dort eingerichtet, fetch-only)." + drift_check: "Im Lokal-Fork: bash scripts/ui-drift-check.sh (vergleicht src/static beider Repos, Zeilenenden ignoriert)" + wortlaut: "Die Verbrauchseinheit heißt in BEIDEN Monitoren 'Credits' (Entscheidung Nutzer 2026-07-25). Nicht Guthaben, nicht Einheiten." + gewollte_unterschiede: + - "Online: Studio nur für info@aegis-sight.de freigegeben (Gating in studio.js init, Studio-Link im Dashboard-Header versteckt). Lokal ohne Gating, Knopf immer sichtbar." + - "Lokal: X-Zugänge-Oberfläche (twscrape) in Sidebar/Modal/Quellenübersicht. Online bewusst nicht vorhanden." + - "Lokal: Frontend der Abrechnungs- und Takt-Features. Online erst zusammen mit dem Backend portieren." + stolperfalle_zeilenenden: | + Die Repo-Dateien sind CRLF. Beim Portieren keine Werkzeuge einsetzen, die Zeilenenden + umschreiben (z.B. sed -i unter Git Bash), sonst entstehen Riesen-Diffs. Diff vor dem + Commit auf Plausibilität prüfen. +``` + ## Changelog-Workflow Bei JEDER Aenderung am Monitor muessen zwei Dinge passieren: