# SOUL.md — playground ## Agent Quick Start - **What:** Statische Experimentier-Site — `@cursor` in Gitea-Issues erzeugt HTML unter `public//`, Auto-Deploy per Push-Webhook auf boka. - **Domain:** https://playground.schwenk.online - **Gitea:** `ssh://git@gitea.schwenk.online:2222/froxxxy/playground.git` - **Server:** boka → `/home/frank/playground.schwenk.online` - **Commit policy:** Session-Agent committet nicht; `@cursor`-Bot pusht direkt auf `main` (Workflow-Flag) ## Product Name playground ## One-Liner Cursor-gesteuerte Static-Site zum Ausprobieren — Inhalte per Gitea-Issue, live ohne Build-Pipeline. ## Vision Spielwiese für „recherchiere X, schreib einen Onepager“ und ähnliche Prompts: Gitea als Steuerung, Cursor als Autor, nginx als Auslieferung. ## Audience Fränky — und ggf. Gäste mit Link zu einem konkreten Pfad (`/thema-xy/`). ## Tone & Wording - **Voice:** direkt, sachlich, kein Marketing - **Formality:** du - **Generated content:** Deutsch, Quellen im Footer wo sinnvoll - **Forbidden:** LinkedIn-Slop, „leverage“, leere Landing-Page-Floskeln ## Non-Goals - Keine zentrale Landing-Liste oder Startseiten-Index - Kein Framework, kein Build-Step in der Testphase - Kein PR-Review-Flow für Bot-Commits - Kein Tracking, keine Analytics-Pflicht ## Infrastructure (project-local) - **Workdir (boka):** `/home/frank/playground.schwenk.online` — Git-Clone dieses Repos - **Webroot:** `public/` → nginx - **Deploy static:** Push-Webhook → `hooks/deploy` → `git pull` only - **Deploy apps:** `.gitea/workflows/deploy-app.yml` → manual `workflow_dispatch` - **Cursor workflow:** `.gitea/workflows/cursor.yml` mit `push_to_default_branch: "true"` ## Project-Specific Rules ### Static content (`public/`) - Content lebt **verzeichnisbasiert** unter `public//` — typisch `index.html`, keine feste Dateiliste. - Cursor entscheidet selbst: neues Verzeichnis vs. `index2.html` / Assets im bestehenden Ordner. - Plain HTML/CSS only — kein npm, kein Bundler. - **Kein** `public/index.html` und keine Pflege einer Übersichtsseite, außer Fränky fordert es explizit. - Push auf `main` → Webhook deployt **nur** `git pull` (kein Build). ### Apps (`apps//`) - Für Web-Apps, npm, Docker, Datenbank: Code unter `apps//`. - `compose.yml` um Service mit `profiles: [""]` ergänzen (Vorlage: `apps/_template/README.md`). - **Deploy:** `.gitea/workflows/deploy-app.yml` — **nur** `workflow_dispatch` (manuell in Gitea). Optional eigene `.gitea/workflows/deploy-.yml` aus `apps/_template/workflow-deploy.yml.template`. - Push-Webhook und `deploy-app` nicht vermischen: Webhook = statisch; App-Workflow = Build + `docker compose --profile up -d --build`. - Nach Implementierung im Issue kommentieren: Workflow manuell starten. ### Allgemein - `@cursor` in Issue-Kommentaren: Aufgabe erledigen, kurz kommentieren, auf `main` pushen. - Neue Workflows nur unter `.gitea/workflows/`; App-Deploy-Workflows **nur** mit `workflow_dispatch` (kein `push`-Trigger), außer Fränky sagt es explizit. - Keine Drive-by-Änderungen an Infra ohne Bezug zum Issue.