From c02661ff78cf7c148f028ab744dc942971b9e47d Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Tue, 9 Jun 2026 00:40:08 +0200 Subject: [PATCH] docs: add mintel architecture manifesto --- ARCHITECTURE.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 ARCHITECTURE.md diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md new file mode 100644 index 0000000..620c09f --- /dev/null +++ b/ARCHITECTURE.md @@ -0,0 +1,46 @@ +# Mintel Universal Design System - Architecture Manifesto + +Dieses Dokument ist der absolute Nordstern für alle Entwickler und KI-Agenten, die an der Mintel Codebase arbeiten. Es definiert, wie wir UI-Komponenten bauen, isolieren und skalieren, ohne in eine "Lock-in"-Falle zu tappen. + +## 1. Das Problem: Die Design System Falle +Wir bauen eine neutrale Basis (`@mintel/ui`), auf der Web, Print (PDF), Präsentationen und Remotion-Videos basieren. +Das größte Risiko: Komponenten werden im Laufe der Zeit so komplex (mit dutzenden `if/else`-Switches für Kunden-Sonderfälle), dass niemand sich mehr traut, sie anzufassen, aus Angst, andere Projekte zu zerstören. + +## 2. Die Zwiebel-Architektur (Core vs. Components) +Um dieses Problem zu lösen, teilen wir unser UI-Paket logisch in zwei Ebenen: + +### Tier 1: Primitives (Der Kern) +- **Was ist das?** Die absoluten Grundbausteine: ``, ``, ``, ``. +- **Die Regel:** Diese Komponenten haben *keine* Meinung. Sie dienen ausschließlich als saubere, typisierte Wrapper, um Tailwind-Klassen und Props durchzureichen. Sie dürfen sich architektonisch nie ändern. +- **Warum?** Weil Projekte im Notfall immer auf diese Bausteine zurückfallen können, um eigene, hochgradig individuelle Layouts zu bauen. + +### Tier 2: Base Components (Der Mintel Standard) +- **Was ist das?** Fertige Komponenten wie `