# Migration Guide: Google AI Builder Apps -> Local Docker Stack > **CRITICAL WARNINGS & BEST PRACTICES (READ BEFORE MIGRATION):** > > 1. **DIE GOLDENE REGEL DER STRINGS:** Nutze **NIEMALS** `f"""..."""` für komplexe Prompts oder Listen-Operationen mit verschachtelten Keys. Es führt unweigerlich zu `SyntaxError: unterminated string literal`. Nutze **AUSSCHLIESSLICH Triple Raw Quotes (`r"""..."""`)** und die **`.format()`** Methode. > 2. **SDK WAHL (DUAL SDK):** Das moderne `google-genai` ist gut, aber das Legacy `google-generativeai` ist oft stabiler für reinen Text (`gemini-2.0-flash`). Nutze die "Dual SDK Strategy" aus `helpers.py`. > 3. **GROUNDED TRUTH (MUSS):** Verlasse dich niemals auf das Wissen des Modells allein. Implementiere **immer** Web-Scraping (Homepage + Unterseiten) und SerpAPI-Suchen, um das Modell mit Fakten zu füttern. > 4. **DOCKER VOLUMES:** Mounte **nur spezifische Dateien**, niemals den `dist`-Ordner überschreiben. Bei Syntax-Fehlern, die trotz Korrektur bleiben: `docker-compose build --no-cache`. --- ## 0. Der "Quick-Start" Checkliste (5-Minuten-Plan) 1. **SDK:** Stehen beide SDKs in der `requirements.txt`? 2. **Prompts:** Sind alle Prompts als `r"""...""".format()` angelegt? 3. **Grounding:** Werden Produkt- und Branchenseiten gescrapt? 4. **Package.json:** Sind Build-Tools in `dependencies`? 5. **Vite Config:** Ist `base: './'` gesetzt? --- ## 1. Vorbereitung & Abhängigkeiten (Common Pitfalls) Bevor Code kopiert wird, müssen die Grundlagen stimmen. ### 1.1 Package.json Check (Frontend Build-Falle) Build-Tools wie `vite`, `@vitejs/plugin-react` oder `typescript` müssen in den `dependencies` stehen, nicht in `devDependencies`. Der multi-stage Docker-Build installiert standardmäßig keine dev-dependencies. ### 1.2 Python Syntax & F-Strings (Der Prompt-Albtraum) Verschachtelte Anführungszeichen in F-Strings sprengen den Python-Parser in vielen Umgebungen. **RICHTIG:** ```python prompt = r""" Analysiere "{name}". Antworte JSON: {{"key": "value"}} """.format(name=item['name']) ``` ### 1.3 Volume Mounts & Datei-Synchronisierung Einzeldatei-Mounts (`- ./file.py:/app/file.py`) sind oft unzuverlässig bei schnellen Code-Änderungen. Im Zweifel das Image neu bauen. --- ## 2. Die AI Engine (Standard) Nutze für alle Services die Logik aus `gtm_architect_orchestrator.py`: 1. **Dual SDK Support** (Legacy + Modern). 2. **Modell-Fallback** (Versuche 2.0-flash, dann 1.5-flash). 3. **Grounded Scraping** vor jedem KI-Aufruf. --- *Dokumentation finalisiert am 10.01.2026 nach der Competitor-Analysis Odyssee.*