Navigation
Drei getrennte Navigations-Schichten. Nicht vermischen.
1. App-Navigation (xi-nav)
Abschnitt betitelt „1. App-Navigation (xi-nav)“SSOT: manifest.ts pro App + @addxion/xi/nav.
Jede Consumer-App definiert ihre Sektionen deklarativ. Alle nutzen @addxion/xi/nav mit eigenem Manifest und Kontext-Variablen (Rolle, Grants, Host).
// süper/src/manifest.tsexport const appManifest = { id: "super", sections: [ { id: "theorie-pruefung", href: "/theorie-pruefung", label: "Theorie & Prüfung", roles: ["student"], home: true, nav: true }, ],};Live (Juli 2026):
| App | Manifest | xi-nav |
|---|---|---|
| süper | src/manifest.ts | BottomNav + Command Palette |
| addxion.ai | src/manifest.ts | Command Menu |
Verwendung:
- Home-Hub Karten
- Bottom-Nav / Tab-Bar
- Command Palette Quick-Nav
- Rollen- und Grant-Filter
- Federation: Cross-App Destinations in Command Palettes (Gruppe „Wechsel zu“)
@addxion/xi/nav lädt Manifest, filtert nach Rolle und optional app_grant. Labels und hrefs kommen aus dem Manifest; Icons werden in der Consumer-Shell gemappt (Iconography).
2. Docs-Navigation (Starlight)
Abschnitt betitelt „2. Docs-Navigation (Starlight)“SSOT: Frontmatter und Sidebar-Konfiguration in addxion-docs.
Das ist Content-Nav: welche Markdown-Seite, welches Kapitel. Kein xi-nav.
| Aspekt | Docs-Nav | xi-nav |
|---|---|---|
| Zweck | Dokumentation lesen | App bedienen |
| Datenquelle | MDX + astro.config sidebar | manifest.ts |
| Package | Starlight / @addxion/starlight | @addxion/xi/nav |
| URL-Prefix | /docs/... | App-Routen (/, /analysen, …) |
Starlight-Sidebar bleibt Content-SSOT
Abschnitt betitelt „Starlight-Sidebar bleibt Content-SSOT“Die linke Sidebar in addxion-docs listet Dokumentations-Kapitel (Neon, XI, Behavior, …). Sie wird nicht durch App-Manifeste ersetzt.
Command Palette in Docs
Abschnitt betitelt „Command Palette in Docs“@addxion/shell Command Palette ist in addxion-docs eingebunden:
| Quelle in der Palette | Status | Zweck |
|---|---|---|
Starlight Content-Index (docs-pages.ts) | Live | Docs-Seiten suchen |
@addxion/xi/nav (federated) | Offen (optional) | Produkt-Routen springen |
Nutzer in addxion.com/docs → Sidebar: Content-Nav (Starlight, SSOT) → Command Palette: "manifest" → /docs/xi/guidance/manifests ✓ "analysen" → https://süper.app/analysen (xi federated — noch nicht in Docs-Palette)Die Palette ergänzt, ersetzt die Sidebar nicht.
3. App-Shell UI (Rendering)
Abschnitt betitelt „3. App-Shell UI (Rendering)“SSOT: @addxion/shell.
App-Shell rendert Navigation, definiert sie nicht:
manifest.ts → @addxion/xi/nav (filter, sort) → @addxion/shell (BottomNav, CommandPalette, PageHeader)| Komponente | Nav-Quelle |
|---|---|
BottomNav | gefilterte sections mit nav: true |
CommandPalette | xi-nav + optional Docs-Index (in Docs-Kontext) |
HomeHub | sections mit home: true |
PageHeader | aktuelle Route → Label aus Manifest |
PageHeader ist strukturell in @addxion/shell definiert — nicht pro App. Unterschiedliche Titel zwischen süper und addxion.ai kommen ausschließlich aus unterschiedlichen manifest.ts-Einträgen, nicht aus lokalen Header-Implementierungen. Siehe PageHeader — Cross-App-Sync.
Docs-Deploy (Cloudflare)
Abschnitt betitelt „Docs-Deploy (Cloudflare)“addxion-docs wird separat als Cloudflare Pages deployt, nicht als Subfolder-Build von addxion-com.
| Aspekt | Entscheidung |
|---|---|
| Repo | addxion-docs (SSOT) |
| Build | Astro Starlight → static |
| URL | addxion.com/docs/* (Routing/DNS auf Docs-Pages-Projekt) |
| Marketing | addxion-com bleibt eigenständig (/, /#produkte, CMS) |
addxion-com hostet Marketing und CMS. Die technische Dokumentation lebt und deployt aus addxion-docs.
Cross-App Links
Abschnitt betitelt „Cross-App Links“Protokoll-Konventionen in @addxion/xi/protocol:
- Produkt-URLs (
super.app,addxion.ai,addxion.com) - Deep-Link-Format
- Grant-Check vor Cross-App-Navigation
Keine hardcodierten URLs in App-Shell-Komponenten.
Migrations-Checkliste
Abschnitt betitelt „Migrations-Checkliste“-
home-sections.ts→süper/src/manifest.ts -
app-actions.ts→addxion-ai/src/manifest.ts -
@addxion/xi/navPackage angelegt - App-Shell-Komponenten auf xi-nav umgestellt (süper + addxion.ai)
- Content aus addxion-com nach addxion-docs migriert
- addxion-docs CF Pages Deploy +
addxion.com/docsRouting - Command Palette in Docs (Content-Index)
- xi-federation in Docs-Palette (optional, Phase 6.3 Rest)
Anti-Patterns
Abschnitt betitelt „Anti-Patterns“PageHeaderpro App duplizieren oder mit Layout/CSS überschreiben- Seitentitel in Layouts hardcoden statt
resolveSection(manifest, pathname) - Nav-Items direkt in
BottomNav.tsxhardcoden - Docs-Sidebar für App-Tabs missbrauchen
- Separate Nav-Implementierung pro App ohne Manifest und xi-nav
@addxion/xiin drei separate Repos aufteilen- Docs-Build in addxion-com behalten, wenn addxion-docs SSOT ist
| ID | Wahrheit |
|---|---|
| T-NAV-MANIFEST | Nav aus manifest.ts + xi/nav |
| T-NAV-THREE | Drei Nav-Schichten: xi, Starlight, Shell |
| T-NAV-DOCS | Docs-Sidebar = Content-Nav, kein xi-nav |
| T-SHELL-PAGEHEADER | PageHeader-Struktur in Shell, Titel im Manifest |
Für Agents
Abschnitt betitelt „Für Agents“Scope: Drei getrennte Nav-Schichten — xi-nav, Starlight, Shell-Rendering.
- App-Nav:
manifest.ts+@addxion/xi/nav, nie in BottomNav hardcoden - Docs-Nav: Starlight-Sidebar, kein xi-nav
- Shell rendert Nav, definiert sie nicht
- PageHeader-Titel aus Manifest, Struktur aus Shell