O que este template inclui
- Signup e login com email/senha
- Suporte a OAuth (Google, GitHub, etc.) via redirect
- Middleware de proteção de rotas (cookie-based)
- Callback handler para OAuth (
/auth/callback) - Home page protegida com dados do usuário logado
.cursorrules+CLAUDE.md+.aiderrulespra IA coding
Passo a passo
1Crie seu app a partir do template
Usa o exemplo oficial do SuperDB pra Next.js 15. Já vem com signup, login, OAuth callback e middleware de proteção de rotas configurados.
O template também inclui .cursorrules, CLAUDE.md e .aiderrules pra IA coding funcionar de primeira.
npx create-next-app meu-app --example \
https://github.com/superdb/superdb/tree/main/templates/quickstart-nextjs
cd meu-app
2Configure as variáveis de ambiente
Copie o .env.example e cole suas credenciais. As variáveis NEXT_PUBLIC_* vão pro client; a SUPERDB_SERVICE_KEY fica só no server.
Você pega essas credenciais no dashboard em app.superdb.com.br → Settings → API Keys.
Cuidado: SUPERDB_SERVICE_KEY nunca expõe ao client. Mantenha só em variáveis sem prefixo NEXT_PUBLIC_.
cp .env.example .env.local
NEXT_PUBLIC_SUPERDB_URL=http://localhost:9999
NEXT_PUBLIC_SUPERDB_ANON_KEY=seu-anon-key-aqui
NEXT_PUBLIC_SUPERDB_PROJECT=meu-projeto
SUPERDB_SERVICE_KEY=seu-service-key-aqui
3Suba o SuperDB localmente
O @superdb/cli sobe um ambiente completo via Docker Compose: Postgres + Auth + REST + Studio. Tudo em localhost.
Requer Docker Desktop rodando.
npm install -g @superdb/cli
superdb start
# 🟢 SuperDB rodando em:
# Auth http://localhost:9999
# REST API http://localhost:3000
# Studio http://localhost:54323
4Instale dependências e rode o dev server
Hot-reload, TypeScript, e session já preconfigurados. Vai funcionar de primeira.
npm install
npm run dev
5Acesse o app
Abra http://localhost:3000 no navegador. Você vai ver a tela de login. Crie uma conta de teste e está dentro.
A home protegida mostra os dados do usuário logado lidos via db.auth.getUser() em server component.
→ http://localhost:3000
[Login] [Signup com Google]
↓
[Dashboard] olá, felipe@superdb.com.br
Adicionar tabelas com RLS
Use o MCP tool superdb_run_sql ou psql para criar tabelas. Exemplo simples:
CREATE TABLE proj_meuapp.tasks (
id uuid DEFAULT gen_random_uuid() PRIMARY KEY,
user_id uuid NOT NULL,
title text NOT NULL,
done boolean DEFAULT false
);
ALTER TABLE proj_meuapp.tasks ENABLE ROW LEVEL SECURITY;
CREATE POLICY tasks_own ON proj_meuapp.tasks
USING (user_id = auth.uid());
Dica: Quer ver a tabela funcionando? No frontend: await db.from('tasks').select('*'). RLS filtra automaticamente.
Próximos passos
- Veja a referência do SDK pra todos os métodos
- Integre MCP pra usar com Claude/Cursor
- Configure WhatsApp OTP (Pro+)
- Ative MFA TOTP pros usuários