Better Auth

Configuración de Better Auth para aplicaciones TypeScript: email/password, OAuth, 2FA, passkeys, adaptadores de DB

Por mrgoonie · mrgoonie/claudekit-skills

Funciona con configuración ★ 7.6/10

Better Auth — Configuración de Better Auth para aplicaciones TypeScript: email/password, OAuth, 2FA, passkeys, adaptadores de DB

Qué hace

Guía la implementación de Better Auth, la librería de autenticación TypeScript agnóstica de frameworks, cubriendo email/password con verificación y restablecimiento, proveedores OAuth sociales, 2FA/TOTP, passkeys, enlaces mágicos, sesiones y adaptadores de base de datos para Drizzle, Prisma, Kysely y MongoDB. Se activa al añadir autenticación o autorización a una aplicación TypeScript o JavaScript, al configurar el inicio de sesión OAuth, al configurar la autenticación multifactor o al configurar el esquema de la base de datos de autenticación y las rutas protegidas. Incluye cuatro documentos de referencia más un script de inicialización Python que configura la autenticación y los valores .env.

Informe de la prueba

INSTALACIÓN: frontmatter se analiza (name + description + license + version 2.0.0); los 5 archivos referenciados en el cuerpo se obtuvieron con HTTP 200 (references/email-password-auth.md 8567B, oauth-providers.md 9293B, database-integration.md 10517B, advanced-features.md 10604B, scripts/better_auth_init.py 16394B). Se hizo grep al script Python de 521 líneas: no curl|sh, no base64, no llamadas de red, no texto de inyección; solo resolución de Path(__file__) relativa y `secrets` para la generación de claves. DISPARADOR 5/5 — DEBERÍA activarse: "Add Better Auth email/password + GitHub OAuth to my Next.js 15 app" (sí), "I want passwordless passkey/WebAuthn sign-in for our SvelteKit TypeScript app" (sí), "Set up TOTP two-factor auth and role-based access control for our Node/TS SaaS" (sí); NO DEBERÍA: "Our nginx reverse proxy needs HTTP basic auth on /admin" (no — infraestructura, no autenticación de aplicación), "Configure OAuth2 client credentials to call the Stripe API from our Python backend" (no — autenticación de máquina saliente, lenguaje incorrecto). SALIDA: la tarea era "add Better Auth to Next.js App Router with email/password + verification, GitHub OAuth, Postgres/Drizzle, protected /dashboard". Escribí la línea base de memoria sin abrir ningún documento de referencia (advertencia: ya había leído el cuerpo de SKILL.md, por lo que la contaminación se limita al inicio rápido de nivel superior, no a las referencias, que llevan la carga útil real de la habilidad). La ejecución de la habilidad superó la línea base en cuatro puntos concretos: firma correcta de sendVerificationEmail({user,url,token}) más sendOnSignUp/autoSignInAfterVerification (la línea base adivinó), middleware a través de auth.api.getSession({headers}) con matcher en lugar de mi detección manual de nombres de cookies, account.accountLinking.trustedProviders que la línea base omitió por completo, y el flag CLI --adapter drizzle. Pero luego verifiqué las referencias con el paquete real (npm pack better-auth@1.6.23 y @better-auth/drizzle-adapter, grep en dist): `emailAndPassword.sendResetPasswordToken` no existe (solo `sendResetPassword`), `password.requireUppercase` no existe (la opción real es `minPasswordLength` de nivel superior), y el mapa de cadenas `schema: { user: "users" }` de drizzle tiene la forma incorrecta — ese campo toma objetos de tabla de drizzle, la denominación plural es `usePlural: true`. Esos tres no harían nada silenciosamente, por lo que los correos electrónicos de restablecimiento de contraseña y la política de contraseñas nunca se activarían en silencio. DOCUMENTACIÓN: SKILL.md es honesto sobre la estructura y no exagera; se restó un punto porque los documentos de referencia documentan opciones ausentes de la librería enviada y la habilidad lleva una etiqueta "version 2.0.0" sin indicación de qué versión de better-auth rastrea.

Probado el: 2026-07-21 · Claude Code 2.x (agent harness)

Instalación

git clone --depth 1 https://github.com/mrgoonie/claudekit-skills /tmp/claudekit-skills
mkdir -p ~/.claude/skills
cp -R /tmp/claudekit-skills/.claude/skills/better-auth ~/.claude/skills/better-auth
# project-local instead: cp -R /tmp/claudekit-skills/.claude/skills/better-auth .claude/skills/
# optional interactive scaffolder (needs python3):
# python3 ~/.claude/skills/better-auth/scripts/better_auth_init.py

Comandos y prompts de ejemplo

  • /better-authConfiguración de Better Auth para aplicaciones TypeScript: email/password, OAuth, 2FA, passkeys, adaptadores de DB

Los skills se activan con peticiones en lenguaje natural, sin comandos que memorizar. Tras instalarlo, prompts como estos lo activan (en inglés):

  • Add Google OAuth login with Better Auth
  • Set up two-factor authentication for this app
  • Configure role-based access control with Better Auth