larpaso-website/ONBOARDING_LARA.md
2026-11-02 22:10:08 +00:00

6.9 KiB
Raw Blame History

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 <dein-user>@<server>          # 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").

8. Claude auf dem VPS (claude.ai/code oder Claude-App)

Zusätzlich zum lokalen Setup hast du auf dem VPS einen eigenen Claude-Container mit deinem Claude-Account (Details: DEPLOYMENT_CLAUDE.md). Den erreichst du über claude.ai/code oder die Claude-App – also auch vom Tablet oder Handy. Es gibt zwei Umgebungen: larpaso-website und youtube.

So arbeitest du damit:

  • Eine Aufgabe pro Sitzung. Neue Sitzung über + in der passenden Umgebung starten. Jede Sitzung bekommt einen eigenen Arbeitsstand, so kommen sich parallele Sitzungen nicht in die Quere. Erledigte Sitzungen archivieren.
  • Am Ende pusht Claude nach main und schickt Pascal eine kurze Notiz ins Postfach. Achte darauf, dass das passiert – sonst bleibt die Arbeit in der Sitzung liegen. Bei Konflikten fragt Claude dich, welche Fassung gilt.
  • Postfach: Dein Claude und Pascals Claude können sich Nachrichten schicken. Neue Nachrichten werden automatisch angezeigt. Du kannst es auch direkt nutzen, z. B. „Schreib Pascal ins Postfach, dass die neuen Drehbücher fertig sind."
  • Freigaben bewusst bestätigen. Wenn Claude fragt, ob es einen Befehl ausführen oder eine Datei ändern darf, kurz lesen statt blind zustimmen. Keinen Modus nutzen, der alles ungefragt erlaubt.
  • Fotos und Dateien (Skizzen, Screenshots, Referenzbilder) kannst du direkt im Chat anhängen.
  • Deployment macht Pascal. Dein Claude auf dem VPS kann nichts live stellen. Wenn eine Website-Änderung online gehen soll, sag Pascal Bescheid (oder lass Claude ihm ins Postfach schreiben).
  • Website-Texte: Kleine Änderungen lieber im Admin-Editor machen. Soll Claude Inhalte im Repo ändern, muss Pascal vorher den Live-Stand holen, sonst überschreibt ein Stand den anderen.
  • Keine API-Keys oder Passwörter (z. B. ElevenLabs) in den Chat, ins Postfach oder ins Repo.
  • Große Dateien (Videos, Audio, Rohmaterial) gehören auf dem VPS nach /shared/youtube/, nicht ins Git.
  • Nutzungslimit: Du nutzt dein eigenes Claude-Kontingent. Lange Video- oder Recherche-Aufgaben verbrauchen viel davon.

9. Große Dateien auf den Server hochladen (SFTP)

Videos, Hörproben und Rohmaterial gehören nach /shared/youtube/ auf dem VPS, damit Pascal und beide Claude-Container sie sehen. Dafür gibt es einen reinen Datei-Zugang (kein Server-Login).

Einmalig: Schlüssel erzeugen (Windows, Eingabeaufforderung cmd):

ssh-keygen -t ed25519 -f %USERPROFILE%\.ssh\pino_upload -C lara
type %USERPROFILE%\.ssh\pino_upload.pub

Die angezeigte Zeile (ssh-ed25519 AAAA… lara) ist der öffentliche Schlüssel – den schickst du Pascal (darf in Chat/Postfach). Die Datei ohne .pub bleibt bei dir und wird nie weitergegeben. Pascal richtet damit den Zugang ein.

Hochladen:

sftp -i %USERPROFILE%\.ssh\pino_upload lara-upload@larpaso.de
put -r "C:\Users\lk-lo\Pino-Kanal\Stimmen-Entwuerfe"
bye

Du landest im Ordner upload; die Dateien liegen danach in /shared/youtube/upload/ (in den Claude-Containern genauso). Mit ls siehst du, was da ist, mit get holst du Dateien vom Server. Lieber mit der Maus: WinSCP, Protokoll SFTP, Rechner larpaso.de, Benutzer lara-upload, unter „Erweitert → SSH → Authentifizierung“ die Schlüsseldatei wählen (WinSCP bietet an, sie umzuwandeln).

Arbeitest du mit Claude auf deinem PC, kann Claude das auch für dich erledigen („lade den Ordner … nach /shared/youtube/upload hoch“).