Server / Client
Problem
Abschnitt betitelt „Problem“In TanStack Start / Vite-SSR können Server-Module (Auth, DB, Node-APIs) versehentlich ins Client-Bundle gelangen. In Cloudflare Workers schlagen TCP-basierte DB-Clients fehl.
Regeln (addxion-ai)
Abschnitt betitelt „Regeln (addxion-ai)“- Server-only Module mit
.server-Suffix benennen (profile.server.ts) - Dynamische Imports in Loaders für Auth- und DB-Code
- Kein direkter Import von
auth.ts,db/,pgin Client-Komponenten
Datenbank-Clients
Abschnitt betitelt „Datenbank-Clients“| Umgebung | Client |
|---|---|
| D1 (Auth) | Drizzle + D1-Binding AUTH_DB |
| Neon ohne Hyperdrive | drizzle-orm/neon-http oder @neondatabase/serverless |
| Neon mit Hyperdrive | Hyperdrive-Binding |
postgres.js nutzt TCP — funktioniert nicht in Workers.
Lint-Gate
Abschnitt betitelt „Lint-Gate“bun run lint:server prüft Server-Eintrittspunkte, Effect-Module, Auth/Admin/API-Routes. Für Worker-Änderungen als Gate nutzen, bevor deployt wird.
| ID | Wahrheit |
|---|---|
| T-PKG-AUTH | Identity-SSOT in @addxion/auth |
| T-PKG-BEHAVIOR | Scroll-Entscheidungen in behavior, kein DOM |
| T-REPO-BOUNDARY | Klare Repo-Verantwortung pro Inhaltstyp |
Für Agents
Abschnitt betitelt „Für Agents“Scope: Server/Client-Grenzen in ADDXION-Apps.
- Auth und Secrets serverseitig
- Shared Packages framework-agnostisch wo vorgesehen (behavior, xi/nav)