Zum Inhalt springen

Einmal pflegen

Einmal pflegen

Ökosystem-Prinzip — doppelte Pflege in mehreren Projekten vermeiden, systematisch vereinfachen.

Truth: T-MAINTAIN — kanonische Formulierung in der Truth-Registry. Diese Seite ist die Ausarbeitung (Entscheidungsbaum, Strategien, Beispiele).

Statt …Lieber …
Dieselbe Komponente in süper und addxion.ai pflegenEinmal in @addxion/shell, beide konsumieren
Auth-Schema pro AppEinmal in @addxion/auth
Nav-Listen in Layout-KomponentenEinmal in manifest.ts + @addxion/xi/nav
Package-Grenzen in jedem MASTERPLANEinmal in addxion-docs, Produkt-Pläne verlinken
Schneller Fork im ConsumerExtraktion planen und Shared Package erweitern

Bevor du etwas in einem Consumer-Repo implementierst:

Kommt dieselbe oder ähnliche Logik/UI schon woanders vor?
├─ Ja → Gibt es ein Shared Package dafür?
│ ├─ Ja → Dort erweitern, Consumer nur verdrahten
│ └─ Nein → Extraktion planen (Package anlegen oder Subpath)
└─ Nein → Bleibt produktspezifisch (MASTERPLAN des Produkts)

Produktspezifisch bleibt: Domänenlogik (Fahrstunden, Analysen-Prompts), Marken-Copy, app-eigene DB-Tabellen. Geteilt gehört: Identity, Design-Tokens, Shell-UI, Nav-Infrastruktur, LLM-Client, Plattform-Docs.

Wiederkehrende UI oder Logik wandert in das passende Package — nicht in den nächsten Consumer kopiert.

BedarfZiel
Layout, Chat, Gates@addxion/shell
Nav, Cross-App-Protokoll@addxion/xi
Scroll, Haptics@addxion/behavior
Tokens, Primitives@addxion/neon
Session, Grants@addxion/auth
Streaming, Message-Typen@addxion/ai

Referenz: Package-Leitfaden, Package-Grenzen.

Jede Wahrheit hat eine Heimat. Andere Ebenen verlinken, nicht duplizieren.

addxion-docs → Plattform-Wahrheit (Packages, Architektur)
manifest.ts pro App → Nav- und PageHeader-Inhalt
@addxion/shell → PageHeader-Struktur
brand.css pro Consumer → Markenwerte

Siehe Docs-Sync, Repo Boundaries.

Consumer-Repos verdrahten nur: Manifest, Routing, Domänenfeatures. Keine zweite Implementierung mit Layout- oder Nav-Logik.

Beispiel: PageHeader — Cross-App-Sync.

Wenn zwei Apps divergieren, ist die richtige Frage nicht „wie halten wir beide Versionen gleich?“, sondern:

  • Was ist die gemeinsame Abstraktion?
  • Welches Package oder welcher Vertrag eliminiert die Doppelpflege?
  • Lohnt sich die Extraktion jetzt — oder dokumentieren wir bewusst als temporäre Ausnahme mit Exit-Plan?

Kurzfristige Duplikate ohne Exit-Plan gelten als technische Schuld.

SignalTypische Lösung
Gleiche Komponente in 2+ Apps@addxion/shell oder @addxion/neon
Gleiche Nav-Filterlogik@addxion/xi/nav
Gleiche Scroll-Regeln im Chat@addxion/behavior
Gleiche Docs-Tabellen in MASTERPLANsaddxion-docs + Verlinkung
Gleiche Env-/Deploy-MusterPattern-Doc in addxion-docs
Statische Snapshots (z. B. federated manifests)Automatisierung oder Runtime statt manueller Kopie
  • „Schnell in süper bauen, später nach addxion.ai portieren“ ohne Package-Plan
  • Package-Tabellen in Produkt-MASTERPLANs duplizieren
  • Consumer-Wrapper mit eigener Layout-Logik statt Shell-Erweiterung
  • Sync per Copy-Paste oder manuellem Abgleich zwischen Repos
  • Temporäre Duplikate ohne Ticket/Roadmap-Eintrag für Extraktion
  1. Existiert dieselbe Logik/UI bereits in einem anderen Repo?
  2. Wenn ja: Shared Package erweitert statt Consumer dupliziert?
  3. SSOT-Ebene klar (Docs, Package, Manifest, Produkt)?
  4. Bei bewusster Ausnahme: Roadmap- oder MASTERPLAN-Eintrag mit Exit-Plan?
  5. addxion-docs aktualisiert, wenn Grenzen oder Architektur sich ändern?
IDWahrheit
T-MAINTAINEinmal pflegen — keine Doppelpflege
T-TRUTHS-SSOTTruths-Registry — referenzieren, nicht duplizieren
T-PKG-BOUNDARYPackage-Grenzen nicht ohne Vertrag überschreiten

Scope: Ökosystem-Prinzip — doppelte Pflege in mehreren Projekten vermeiden.

  • Vor Consumer-Implementierung prüfen: existiert Logik/UI schon woanders?
  • Bevorzugt Shared Package erweitern, nicht kopieren
  • Temporäre Duplikate nur mit Exit-Plan in Roadmap oder MASTERPLAN
  • Konkretes Beispiel: PageHeader — Cross-App-Sync