Vibekit

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-Konfiguration

Anwendungen (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/mail mit bun run mail:preview auf Port 3005.

Pakete (packages/)

  • api: Enthält den zentralen apiRouter auf 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 wie getBaseUrl() 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.

On this page