P PasteCode
Prompt

Prompt para Adicionar Better Auth ao Next.js com PostgreSQL

Um prompt copiável para adicionar Better Auth e gerenciamento de sessão PostgreSQL a um projeto Next.js App Router.

CursorClaude CodeCodex Next.jsPostgreSQLTypeScript
.md .json Dificuldade: Médio Atualizado 8 de jun. de 2026

Entregue isso ao seu agente para configurar autenticação por e-mail + sessão em um projeto Next.js App Router, sem que ele invente rotas ou recorra a uma biblioteca desatualizada.

Prompt Principal

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.

Notas de Implementação

  • Better Auth vem com seu próprio esquema; deixe-o gerar as tabelas em vez de escrever migrações manualmente.
  • Mantenha todos os segredos em .env e valide-os na inicialização.
  • As sessões devem ser baseadas em banco de dados, não em JWT, para fácil revogação.

Mudanças de Arquivo Esperadas

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

Critérios de Aceitação

  • Um novo usuário pode se cadastrar e uma linha de sessão é gravada no PostgreSQL.
  • getSession() retorna o usuário em um Server Component.
  • O logout limpa a sessão no lado do servidor.

Comandos de Teste

Terminal window
bun run typecheck
bun run dev
# then exercise /api/auth/sign-up and /api/auth/sign-in

Erros Comuns da IA

  • Recorrer ao next-auth mesmo que o prompt proíba.
  • Armazenar sessões como JWTs e pular as tabelas do banco de dados.
  • Esquecer de validar BETTER_AUTH_SECRET / DATABASE_URL.

Prompt de Correção

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.