Projektstruktur
Monorepo-Aufbau, Workspace-Pakete und Anwendungsarchitektur.
VibeKit ist als Turborepo-Monorepo organisiert. Wiederverwendbare Pakete liegen in packages/, Anwendungen in apps/ und geteilte Konfigurationen in tooling/.
vibekit/
├── apps/
│ └── web/ # Haupt-Next.js-Webanwendung (Port 3000)
├── packages/
│ ├── ai/ # Austauschbare LLM-Adapter (Mock, OpenAI, Anthropic, Google)
│ ├── api/ # tRPC API-Router und Prozeduren
│ ├── auth/ # Better Auth Konfiguration und Sessions
│ ├── config/ # Gemeinsame Konfigurations- und Provider-Verträge
│ ├── database/ # Prisma Schema, Client und Zod-Validierung
│ ├── i18n/ # Lokalisierungs-Helfer und Übersetzungen
│ ├── logs/ # Strukturiertes Logging mit Consola
│ ├── mail/ # React Email Templates und E-Mail-Provider
│ ├── notifications/ # In-App Benachrichtigungstypen und Helfer
│ ├── payments/ # Zahlungs-Abstraktionen und Provider
│ ├── storage/ # S3 / Mock Storage-Adapter
│ └── utils/ # Geteilte Hilfsfunktionen und URL-Resolver
├── tooling/
│ ├── tailwind/ # Geteilte Tailwind CSS Preset-Konfiguration
│ └── typescript/ # Basis-tsconfig-Dateien für Workspaces
├── config.ts # Globale Anwendungskonfiguration
├── docker-compose.yml # Lokale PostgreSQL- und MinIO-Dienste
└── turbo.json # Turborepo Task-Pipeline-KonfigurationAnwendungen (apps/)
apps/web: Die zentrale Next.js-Anwendung mit Marketing-Seiten, Authentifizierung, Dashboard-Ansichten, Admin-Bereich und Fumadocs-Dokumentation.- E-Mail-Vorschauen laufen über
packages/mailmitbun run mail:previewauf Port 3005.
Pakete (packages/)
api: Enthält den zentralenapiRouterauf Basis von tRPC 11, Prozedur-Handler (auth,admin,billing,team, und weitere Bereiche) und den Request-Kontext.auth: Better Auth Setup, Datenbank-Adapter, Session-Helfer, Argon2-Passworthashing und OTP-Verifizierung.database: Das Prisma-Schema (prisma/schema.prisma), der generierte Client und Zod-Validierungstypen.i18n: Übersetzungskataloge (JSON) und Sprachwechsel-Werkzeuge.logs: Zentraler Logger basierend auf Consola.mail: Transaktionale E-Mail-Vorlagen mit React Email und Provider für Resend, Postmark, Cloudflare, Plunk und Nodemailer.payments: Zahlungsabstraktionen für Stripe, Lemon Squeezy, Polar und Dodo Payments.storage: S3-kompatibler Adapter zum Signieren von Upload- und Download-URLs.utils: Zentrale Helfer wiegetBaseUrl()für zuverlässige URLs über alle Umgebungen hinweg.
Aufbau der Webanwendung (apps/web/)
Innerhalb von apps/web/app sind Routen sauber gruppiert (ohne [locale]-URL-Segment):
(marketing): Öffentliche Landing Pages, Preise, Blog und Changelog.(saas): Authentifiziertes Dashboard, Kontoeinstellungen und Admin-Panel.(docs): Fumadocs Dokumentations-Engine unter/docs.api/: Route-Handler für tRPC, Webhooks und Auth-Callbacks.
Erfahre in unserer Architekturübersicht, wie Daten durch diese Schichten fließen.