137 lines
6.1 KiB
Markdown
137 lines
6.1 KiB
Markdown
# 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 .`).
|