{
  "id": "add-better-auth-to-nextjs",
  "type": "prompts",
  "category": "prompts",
  "locale": "de",
  "url": "/de/prompts/add-better-auth-to-nextjs",
  "title": "Prompt zum Hinzufügen von Better Auth zu Next.js mit PostgreSQL",
  "description": "Ein Copy-Paste-Prompt zum Hinzufügen von Better Auth und PostgreSQL-Sitzungsverwaltung zu einem Next.js App Router-Projekt.",
  "tools": [
    "Cursor",
    "Claude Code",
    "Codex"
  ],
  "stack": [
    "Next.js",
    "PostgreSQL",
    "TypeScript"
  ],
  "tags": [
    "auth",
    "nextjs",
    "postgres"
  ],
  "difficulty": "medium",
  "updated": "2026-06-08",
  "markdown": "Gib dies deinem Agenten, um E-Mail- und Sitzungsauthentifizierung in einem Next.js App Router-Projekt einzurichten, ohne dass er Routen erfindet oder zu einer veralteten Bibliothek greift.\n\n## Haupt-Prompt\n\n```txt title=\"Main Prompt\"\nYou are working in a Next.js App Router project that uses TypeScript and PostgreSQL.\n\nTask: add authentication using Better Auth.\n\nRequirements:\n- Use the `better-auth` package. Do NOT use next-auth/auth.js.\n- Configure email + password auth with database-backed sessions.\n- Use the existing PostgreSQL connection; create the auth tables via Better Auth's schema.\n- Add a server-side `auth` instance in `src/lib/auth.ts`.\n- Mount the handler at `app/api/auth/[...all]/route.ts`.\n- Add a typed `getSession()` helper for Server Components.\n- Do not touch unrelated files. Show me the diff before applying.\n\nStop after the code changes and list exactly which files you created or edited.\n```\n\n## Implementierungshinweise\n\n- Better Auth bringt sein eigenes Schema mit; lassen Sie es die Tabellen generieren, anstatt Migrationen selbst zu schreiben.\n- Halten Sie alle Geheimnisse in `.env` und validieren Sie sie beim Start.\n- Sitzungen sollten datenbankgestützt sein, nicht JWT, für einfache Widerrufbarkeit.\n\n## Erwartete Dateiänderungen\n\n```txt\nsrc/lib/auth.ts                      (new)\napp/api/auth/[...all]/route.ts       (new)\nsrc/lib/get-session.ts               (new)\n.env.example                         (edited)\npackage.json                         (edited)\n```\n\n## Akzeptanzkriterien\n\n- Ein neuer Benutzer kann sich registrieren und eine Sitzungszeile wird in PostgreSQL geschrieben.\n- `getSession()` gibt den Benutzer in einer Server-Komponente zurück.\n- Abmelden löscht die Sitzung serverseitig.\n\n## Testbefehle\n\n```bash\nbun run typecheck\nbun run dev\n# then exercise /api/auth/sign-up and /api/auth/sign-in\n```\n\n## Häufige KI-Fehler\n\n- Nach `next-auth` greifen, obwohl der Prompt es verbietet.\n- Sitzungen als JWTs speichern und die Datenbanktabellen überspringen.\n- Vergessen, `BETTER_AUTH_SECRET` / `DATABASE_URL` zu validieren.\n\n## Fix-Prompt\n\n```txt title=\"Fix Prompt\"\nYou used a different auth library or JWT sessions. Redo it with `better-auth`\nand database-backed sessions only. Remove any next-auth code you added.\n```"
}