# ONBOARDING_LARA.md – Kontext für Laras Claude Dieses Dokument gibt dir (Laras Claude Code) den Kontext, um am Projekt **larpaso-website** mitzuarbeiten. Gib deinem Claude Code **diese Datei zusammen mit `DEPLOYMENT.md` und `DEPLOYMENT_ADMIN.md`** aus dem Repo als Kontext, bevor es Änderungen vornimmt – die beiden anderen Dateien beschreiben die Server-Infrastruktur und die Sicherheits-Leitplanken im Detail, hier steht nur, was speziell für dich (Lara) dazukommt. --- ## 1. Projektüberblick - **Astro-Website** (statisch), live unter `https://larpaso.de`. - **Login-geschützter Editor** (Node/Express) unter `https://admin.larpaso.de` für Texte/Bilder/Design ohne Code. - **Git**: selbstgehostetes Forgejo unter `git.larpaso.de`, Repo `pascal/larpaso-website`. - **Deployment**: Docker Compose auf einem VPS, Caddy als zentraler Reverse Proxy (bedient auch andere Dienste wie Nextcloud – **nicht anfassen**). ## 2. Dein Repo-Zugang - Pascal legt dir einen Forgejo-Account an bzw. gibt dir Write-Zugriff auf `pascal/larpaso-website`. - Hinterlege deinen eigenen SSH-Public-Key in deinem Forgejo-Profil (Einstellungen → SSH-Schlüssel). - Klonen: ``` git clone ssh://git@git.larpaso.de:2222/pascal/larpaso-website.git ``` ## 3. Lokales Setup Node.js (aktuelle LTS) vorausgesetzt: ``` npm install npm run dev # lokaler Dev-Server npm run build # Produktions-Build nach dist/ – muss vor jedem Push fehlerfrei laufen ``` ## 4. Workflow für Änderungen 1. Änderung lokal mit deinem Claude umsetzen. 2. `npm run build` muss fehlerfrei durchlaufen, bevor du pushst. 3. Committen & pushen nach `main` auf `git.larpaso.de` (kein `node_modules`, kein `dist` – steht bereits in `.gitignore`). 4. Kurz mit Pascal absprechen, was sich geändert hat – aktuell gibt es **keinen Branch-/Review-Workflow**, ihr pusht beide direkt auf `main`, also kurz Bescheid geben, damit ihr euch nicht gegenseitig überschreibt. 5. Deployment auf dem Server auslösen (siehe unten). ## 5. Deployment (mit deinem SSH-Zugang) Sobald Pascal dir SSH-Zugang eingerichtet hat: ``` ssh @ # Adresse/Zugangsdaten bekommst du direkt von Pascal, nicht über den Chat cd ~/sites/larpaso-website && git pull cd ~/stack docker compose build website # nur wenn sich Website-Code geändert hat docker compose build admin # nur wenn sich admin/ geändert hat docker compose up -d website admin ``` Lass deinen Claude das **nicht automatisch ausführen** – SSH-Befehle auf dem echten Server führst du selbst manuell aus, genau wie Pascal es macht. ## 6. Sicherheits-Leitplanken (gelten für dich genau wie für Pascal) - Keine Secrets/Passwörter/Tokens in Code, Commits oder Chat-Ausgaben. - Bestehende Dienste (`nextcloud*`, `forgejo`, `*-db`, `redis`, `caddy`) nicht verändern oder neu starten. - Website/Admin bleiben ausschließlich im Docker-Netzwerk `web`, keine Host-Ports, kein zweiter Reverse Proxy. - Astro bleibt statisch (`output: 'static'`), kein Server-Adapter. - Bei Unklarheiten zur Infrastruktur: `DEPLOYMENT.md` / `DEPLOYMENT_ADMIN.md` lesen, im Zweifel Pascal fragen statt selbst zu experimentieren. ## 7. Content-Editor (ohne Code) Für reine Text-/Bild-/Farb-Änderungen ohne Code gibt es zusätzlich den Login-Editor unter `admin.larpaso.de`. Falls du dafür auch einen eigenen Login willst, sag das Pascal – das ist unabhängig vom SSH-/Repo-Zugang (siehe `DEPLOYMENT_ADMIN.md`, Abschnitt „zweiter Benutzer").