# Prompt zum Hinzufügen von Better Auth zu Next.js mit PostgreSQL

> Ein Copy-Paste-Prompt zum Hinzufügen von Better Auth und PostgreSQL-Sitzungsverwaltung zu einem Next.js App Router-Projekt.

**Type:** Prompt  
**Tools:** Cursor, Claude Code, Codex  
**Stack:** Next.js, PostgreSQL, TypeScript  
**Difficulty:** medium  
**Updated:** 2026-06-08

---

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.

## Haupt-Prompt

```txt title="Main Prompt"
You are working in a Next.js App Router project that uses TypeScript and PostgreSQL.

Task: add authentication using Better Auth.

Requirements:
- Use the `better-auth` package. Do NOT use next-auth/auth.js.
- Configure email + password auth with database-backed sessions.
- Use the existing PostgreSQL connection; create the auth tables via Better Auth's schema.
- Add a server-side `auth` instance in `src/lib/auth.ts`.
- Mount the handler at `app/api/auth/[...all]/route.ts`.
- Add a typed `getSession()` helper for Server Components.
- Do not touch unrelated files. Show me the diff before applying.

Stop after the code changes and list exactly which files you created or edited.
```

## Implementierungshinweise

- Better Auth bringt sein eigenes Schema mit; lassen Sie es die Tabellen generieren, anstatt Migrationen selbst zu schreiben.
- Halten Sie alle Geheimnisse in `.env` und validieren Sie sie beim Start.
- Sitzungen sollten datenbankgestützt sein, nicht JWT, für einfache Widerrufbarkeit.

## Erwartete Dateiänderungen

```txt
src/lib/auth.ts                      (new)
app/api/auth/[...all]/route.ts       (new)
src/lib/get-session.ts               (new)
.env.example                         (edited)
package.json                         (edited)
```

## Akzeptanzkriterien

- Ein neuer Benutzer kann sich registrieren und eine Sitzungszeile wird in PostgreSQL geschrieben.
- `getSession()` gibt den Benutzer in einer Server-Komponente zurück.
- Abmelden löscht die Sitzung serverseitig.

## Testbefehle

```bash
bun run typecheck
bun run dev
# then exercise /api/auth/sign-up and /api/auth/sign-in
```

## Häufige KI-Fehler

- Nach `next-auth` greifen, obwohl der Prompt es verbietet.
- Sitzungen als JWTs speichern und die Datenbanktabellen überspringen.
- Vergessen, `BETTER_AUTH_SECRET` / `DATABASE_URL` zu validieren.

## Fix-Prompt

```txt title="Fix Prompt"
You used a different auth library or JWT sessions. Redo it with `better-auth`
and database-backed sessions only. Remove any next-auth code you added.
```