# Werkbaum Monorepo für Werkbaum: eine textuelle WBS-Notation mit Und/Oder-Zerlegung („all of" nebeneinander, „any of" untereinander) samt Editor und geplantem Integrations-Backend. ## Struktur - `frontend/` — Editor (Vanilla HTML/CSS/JS). Eigene Regeln: frontend/CLAUDE.md - `backend/` — Kotlin/Spring-Boot-Anwendung (Taiga-Integration, Persistenz). Eigene Regeln: backend/CLAUDE.md - `docs/` — Projektdokumente · `brand/` — Marke (brand/BRAND.md) ## Verbindliche Referenzen - Sprachdefinition: @docs/SPEC.md — die Notation ist der gemeinsame Vertrag von Frontend und Backend. Syntaxänderungen: SPEC **zuerst**, dann Code, dann die Agenten-Fassung `frontend/public/llms.md` nachziehen (SPEC §13, D43). - Entscheidungen: @docs/DECISIONS.md — respektieren; Abweichungen als neuen Eintrag begründen, alte Einträge nie löschen. Besonders D13 (Backend-Stack) und D14 (Parser-Hoheit) beachten. - Ziele: docs/ROADMAP.md · Offene Arbeit: docs/TASKS.md (Checkboxen pflegen). ## Querschnitts-Konventionen - Doku auf Deutsch. Die Editor-UI ist mehrsprachig (DE/EN/ES/FR direkt, PL/RU/HI/ZH/JA hinter dem „…“-Aufklapper des Umschalters oben rechts); **Deutsch ist die Quellsprache** — neue UI-Texte zuerst auf Deutsch im `I18N`-Objekt (frontend/index.html) anlegen, dann in alle Sprachen übersetzen. - Keine neuen Laufzeit-Abhängigkeiten ohne Rückfrage (gilt in beiden Teilen). - Der Notationstext ist das führende Datenformat; kein Teil erfindet ein eigenes Speicherformat für die Struktur. - Im mitgelieferten Plan `docs/examples/werkbaum.werkbaum` bekommt **jeder** Knoten eine ID nach dem Muster `#bereich.task` (dritte Stufe nur, wo es sonst kryptisch würde) und einen Beschreibungsblock hinter dem `---`-Trenner, englisch, ein bis zwei Sätze — siehe D48. Neue Knoten also immer zu zweit anlegen: Zeile im Baum **und** Block unten. - Im mitgelieferten Plan `docs/examples/werkbaum.werkbaum` bekommt eine fertige Funktion beim Mergen **`[x]`**, nicht `[^]`. Auf „in Produktion" befördert erst der Deploy der stabilen Instanz (`scripts/promote-shipped.sh`, von `deploy-prod.sh` aufgerufen) — nur er macht die Aussage wahr. Siehe D30; SPEC §4 trennt beide Zustände ohnehin.