diff --git a/ONBOARDING_LARA.md b/ONBOARDING_LARA.md new file mode 100644 index 0000000..11c1ba7 --- /dev/null +++ b/ONBOARDING_LARA.md @@ -0,0 +1,84 @@ +# 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").