larpaso-website/ONBOARDING_LARA.md
Pascal Scholz 8819540376 Upload nach /srv/shared als deploy, daemon-reload ergänzt
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 22:18:06 +00:00

137 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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](https://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
Videos, Hörproben und Rohmaterial gehören nach `/shared/youtube/`, damit
Pascal und beide Claude-Container sie sehen. Auf dem Server heißt der
Ordner `/srv/shared` (derselbe Inhalt). Hochladen mit einem Befehl, ohne
`sudo` – das kann auch Claude auf deinem PC für dich erledigen:
```
scp -r "C:\Users\lk-lo\Pino-Kanal\Stimmen-Entwuerfe" deploy@larpaso.de:/srv/shared/youtube/upload/
```
Holen geht genauso andersherum
(`scp -r deploy@larpaso.de:/srv/shared/youtube/folge02 .`).