Files
Frank Schwenk b9ad7f0c40 docs: add VibeSoul context, SOUL.md, and README
Project character, agent rules, and run/deploy docs for mobea.de.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 11:52:00 +02:00

177 lines
8.6 KiB
Markdown
Raw Permalink 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.
# SOUL — mobea.de
> Diese Datei ist das Herzstück des Projekts: **wofür** MOBEA existiert und **wie** wir daran arbeiten.
> Für Menschen, für zukünftige Agents, für Frank-in-6-Monaten-der-vergessen-hat-warum-Pivot.
---
## Was MOBEA ist
**MOBEA** ist kein Startup. Es ist eine **tägliche Satire-Website** unter [mobea.de](https://mobea.de/) — jeden Tag erfindet eine KI eine neue absurde Firma und präsentiert sie als völlig ernste Landing Page.
**Tagline:** *Das Startup, das jeden Tag ein anderes Startup ist.*
**Der 3-Sekunden-Test:** Ein Besucher soll kurz denken: *„Moment — ist das echt? … nein, oder? … haha, nein."*
**Nicht:** *„Noch eine langweilige KI-Demo-Seite mit einem Witz im Footer."*
**Identitätsmerkmal:** Der Name **MOBEA** ist immer ein **Backronym** — fünf deutsche Wörter, deren Anfangsbuchstaben M-O-B-E-A ergeben. Das ist kein Easter Egg, sondern Teil des täglichen Rituals.
**Ablauf (vereinfacht):**
1. Generator würfelt 1–2 Themen aus dem Pool (`topics.py`)
2. OpenRouter schreibt JSON-Inhalt (Pitch, Features, Preise, Testimonials, FAQ, Stats)
3. Optional: Pixazo SDXL erzeugt ein Hero-Bild
4. Jinja2 rendert `startup.html.j2` → `public/index.html` + Archiv-Kopie
5. Alle Kauf-/Kontakt-CTAs führen zu `/echt-jetzt/` — der Vorhang fällt
**Satire ≠ Täuschung:** Die Landing täuscht bewusst Startup-Ernst vor; `/echt-jetzt/` sagt ehrlich Bescheid. Kein echtes Produkt, kein Newsletter, kein Impressum mit Firma dahinter.
---
## Zielgruppe
| Wer | Was sie erwarten |
|-----|------------------|
| Neugierige von [schwenk.online](https://schwenk.online/) oder der Mail-Signatur | Kurz reinschauen, lachen oder verwirrt sein, vielleicht morgen wiederkommen |
| Startup-affine mit Buzzword-Allergie | Den Ton erkennen, den Gag mitbekommen |
| Leute, die kurz reinfallen | Ein ehrlicher Ausweg — nicht ein Sales-Funnel |
**Nicht die Zielgruppe:** Investoren, Kunden, Journalisten auf der Suche nach einem echten Unternehmen. Die sollen zum Vorhang, nicht in einen Checkout.
---
## Stimme & Ton
MOBEA spricht in **drei Schichten**. Jede hat eigene Regeln — nicht vermischen.
### 1. Tages-Landing (KI-Inhalt + Template-Rahmen)
- **Sprache:** Deutsch. Formelles **Sie** in Marketing-Sektionen.
- **Ton:** Todesernst. Wie echtes Startup-Deutsch 2024–2026: *disruptiv, skalierbar, enterprise-ready, Pivot*.
- **Englische Lehnwörter:** Ja, wo Startup-Sprech sie verlangt — *Features, FAQ, Enterprise, Newsletter, Pivot*.
- **Humor:** Entsteht durch **Kontrast** (absurder Inhalt + überzeugter Ton), nicht durch 😂 oder „Haha, Satire!"-Labels auf der Landing.
- **Template-Rahmen:** Trockene Seitenhiebe in Untertiteln und Footer — ein Augenzwinkern, kein Comedy-Moderator.
### 2. Echt-jetzt (`/echt-jetzt/`)
- **Sprache:** Deutsch. Informelles **du**.
- **Ton:** Direkt, selbstironisch, Fourth-Wall. Satire wird **erklärt**, nicht verkauft.
- **Kein Buzzword** — außer wenn zitiert („Buzzword-Bingo").
### 3. Archiv (`/archiv/`)
- **Ton:** Nüchtern, leicht morbide — *„Hier ruhen die bisherigen Pivots."*
- Meta-Ebene für Insider; Prompts optional einblendbar.
**Werte (außerhalb der Parodie-Schicht):** Kein echtes Tracking, keine Datensammlung, keine Dark Patterns die wirklich funktionieren. Der Cookie-Banner ist Satire — er setzt nichts.
**Verboten in echten Projekt-Texten** (nicht in der absichtlichen Startup-Parodie): LinkedIn-Coach-Sprech als eigene Stimme, „leverage", „synergize", KI-Slop ohne Biss, Täuschung als Businessmodell.
### Wording-Beispiele
| Kontext | Gut | Schlecht |
|---------|-----|----------|
| Section-Untertitel | *„100 % authentisch. 0 % überprüfbar."* | *„Unsere zufriedenen Kunden lieben uns!"* (zu generisch, kein Witz) |
| Preise | *„Keine versteckten Kosten. Nur versteckte Absichten."* | *„Faire Preise für jeden!"* |
| CTA-Banner | *„Schließen Sie sich Tausenden zufriedener Nutzer an, die es auch nicht sind."* | *„Jetzt kostenlos testen!"* (klingt nach echtem SaaS) |
| Cookie-Banner | *„Wir verwenden Cookies, Karma und Schwingungsdaten."* | Echter Consent-Manager mit Tracking |
| Echt-jetzt | *„Oh. Du hast das wirklich geglaubt?"* | *„Willkommen auf unserer Satire-Website!"* (zu meta, zu früh) |
| Footer | *„© MOBEA. Alle Rechte vorbehalten. Irgendwie."* | *„Made with ❤️ and AI"* |
| Leerer Zustand (Archiv) | *„Noch keine Pivots. Komm morgen wieder."* | *„Keine Einträge gefunden."* |
---
## Visuelle DNA
Jeden Tag ein anderes **Theme** — gewürfelt per Datum, nicht per Laune:
| Theme | Akzent | Feel |
|-------|--------|------|
| **corporate** | `#2563eb` Blau | Clean SaaS, system-ui, abgerundet |
| **neon** | `#00f5d4` + `#a855f7` | Dark Cyber, Glow |
| **mystic** | `#d4a853` Gold | Dunkel-lila, Georgia, esoterisch |
| **brutalist** | `#ff0000` Rot | Schwarze Borders, Courier, harte Schatten |
| **pastel** | `#f472b6` + `#6ee7b7` | Weiche Gradients, große Radien |
**Konstanten:** Favicon `#2563eb` mit weißem **M**. OG/Meta über `_head_common.html.j2`.
**Eigene Welten (nicht theme-rotierend):**
| Seite | Palette | Feel |
|-------|---------|------|
| **Archiv** | `#111118` / `#1a1a24` | Friedhof der Pivots — dunkel, sachlich |
| **Echt-jetzt** | `#12141a` + Gold `#c9a227` | Backstage — ehrlich, kein Marketing-Glanz |
| Element | Ja | Nö |
|---------|----|----|
| Überzeugende SaaS-Landing-Struktur (Hero, Features, Pricing, FAQ) | ✓ | |
| Täglich wechselnde visuelle Identität | ✓ | |
| Responsive Layout, semantisches HTML | ✓ | |
| Fake-Cookie-Banner (ohne Funktion) | ✓ | |
| Ein Theme dauerhaft dominieren | | ✓ |
| Echtes Tracking / Analytics | | ✓ |
| Stock-Corporate als einziger Look | | ✓ |
| „LOL SATIRE"-Banner auf der Tages-Landing | | ✓ |
**Technik-Philosophie:** Statisches HTML, wenig JS (Cookie-Dismiss, Mobile-Nav), Python-Generator in Docker, nginx vor `public/`. Privacy by design — keine Analytics, `robots.txt` blockiert `/archiv` und `/echt-jetzt` für Crawler.
---
## Non-Goals (Anti-Manifest)
- **Kein echtes Startup** — nichts zu kaufen, niemanden zu kontaktieren, kein echtes Impressum
- **Keine Lead-Gen** — Newsletter-Link führt zum Vorhang, nicht zu Mailchimp
- **Kein Engagement-Bait** — kein „Teile dein tägliches Startup!", kein Streak-Gamification
- **Kein Daten-Hoarding** — nichts speichern, nicht mal Enttäuschung
- **Nicht zu erklärend auf der Landing** — der Gag lebt vom Ernst, nicht vom Disclaimer
- **Nicht zu langweilig** — generischer KI-Slop ohne absurden Kern ist schlimmer als ein schlechter Witz
- **Nicht zu corporate** — dann wäre es das, was wir parodieren, ohne den Witz
- **Kein WordPress-Agentur-Vibe** — MOBEA ist Kunst/Experiment, keine Visitenkarte mit CTA
---
## Wie wir zusammenarbeiten
### Frank liefert, Agent bindet ein
| Datei | Zweck |
|-------|-------|
| [`NOTES.md`](NOTES.md) | Franks Scratchpad — frei, chaotisch erlaubt |
| [`SOUL.md`](SOUL.md) | Vision, Ton, Arbeitsweise (du bist hier) |
### Arbeitsmodus Agent
1. **Generator-Output ist Runtime** — `public/index.html`, `public/archiv/`, `public/img/` werden generiert und sind gitignored. Änderungen an **Templates** (`startup.html.j2`, …) und **Prompts** (`generate.py`) sind die eigentliche Quelle.
2. **Ton-Änderungen doppelt prüfen** — statische Template-Zeilen *und* LLM-System-Prompt müssen zusammenpassen.
3. **Kein Scope-Creep** — nur anfassen, was die Aufgabe verlangt.
4. **Deploy:** Fränky (`INFRASTRUCTURE.md` — `mobea` → `/home/frank/mobea.de` auf `boka`).
5. **Keine Commits / kein Push** ohne explizite Anweisung (siehe `AGENTS.md`).
6. **CI/CD** nur mit Fränkys OK.
### Prioritäten bei Konflikten
```
Satire-Treue (Ernst + Absurdität) > visueller Wow-Effekt
Ehrlicher Vorhang (/echt-jetzt/) > überzeugende Täuschung
Weniger erklärender Text auf der Landing > mehr Meta-Humor
Privacy (kein Tracking) > Analytics-„Insights"
```
---
## Für Agents: Quick Start
1. [`SOUL.md`](SOUL.md) lesen (du bist hier)
2. [`generator/generate.py`](generator/generate.py) — System-Prompt, Schema, Tageslogik
3. [`generator/templates/startup.html.j2`](generator/templates/startup.html.j2) — Landing-Struktur, Themes, statische Witze
4. [`generator/topics.py`](generator/topics.py) — Themen-Pool
5. [`public/echt-jetzt/index.html`](public/echt-jetzt/index.html) — Satire-Disclaimer, ehrliche Stimme
6. [`compose.yml`](compose.yml) — nginx + Generator-Container
7. Änderungen am **Ton** gegen SOUL abgleichen
8. Vor „fertig": Generator lokal/Docker testen; Mobile (390×844) bei UI-Änderungen
---
## Ein Satz zum Mitnehmen
**mobea.de** ist ein täglicher Startup-Parodie-Automat — todernst verkauft, absurder Inhalt, ehrlicher Vorhang: KI-Humor mit Haltung, nicht LinkedIn-Slop mit Disclaimer.