better-auth

Implement authentication and authorization with Better Auth - a framework-agnostic TypeScript authentication framework. Features include email/password authentication with verification, OAuth providers (Google, GitHub, Discord, etc.), two-factor authentication (TOTP, SMS), passkeys/WebAuthn support,

By mrgoonie · 380 installs

npx skills add mrgoonie/claudekit-skills --skill better-auth

Source repository · Upstream listing

Better Auth Skill Better Auth is comprehensive, framework agnostic authentication/authorization framework for TypeScript with built in email/password, social OAuth, and powerful plugin ecosystem for advanced features. When to Use Implementing auth in TypeScript/JavaScript applications Adding email/password or social OAuth authentication Setting up 2FA, passkeys, magic links, advanced auth features Building multi tenant apps with organization support Managing sessions and user lifecycle Working with any framework (Next.js, Nuxt, SvelteKit, Remix, Astro, Hono, Express, etc.) Quick Start Installation Environment Setup Create .env : Basic Server Setup Create auth.ts (root, lib/, utils/, or under src/app/server/): Database Schema Mount API Handler Next.js App Router: Other frameworks: See references/email password auth.md framework setup Client Setup Create auth client.ts : Basic Usage Feature Selection Matrix Feature Plugin Required Use Case Reference Email/Password No (built in) Basic auth [email password auth.md](./references/email password auth.md) OAuth (GitHub, Google, etc.) No (built in) Social login [oauth providers.md](./references/oauth providers.md) Email Verification No (built in) Verify email addresses [email password auth.md](./references/email password auth.md email verification) Password Reset No (built in) Forgot password flow [email password auth.md](./references/email password auth.md password reset) Two Factor Auth (2FA/TOTP) Yes ( twoFactor ) Enhanced security [advanced features.md](./references/advanced features.md two factor authentication) Passkeys/WebAuthn Yes ( passkey ) Passwordless auth [advanced features.md](./references/advanced features.md passkeys webauthn) Magic Link Yes ( magicLink ) Email based login [advanced features.md](./references/advanced features.md magic link) Username Auth Yes ( username ) Username login [email password auth.md](./references/email password auth.md username authentication) Organizations/Multi tenant Yes ( organization ) Team/org features [advanced features.md](./references/advanced features.md organizations) Rate Limiting No (built in) Prevent abuse [advanced features.md](./references/advanced features.md rate limiting) Session Management No (built in) User sessions [advanced features.md](./references/advanced features.md session management) Auth Method Selection Guide Choose Email/Password when: Building standard web app with traditional auth Need full control over user credentials Targeting users who prefer email based accounts Choose OAuth when: Want quick signup with minimal friction Users already have social accounts Need access to social profile data Choose Passkeys when: Want passwordless experience Targeting modern browsers/devices Security is top priority Choose Magic Link when: Want passwordless without WebAuthn complexity Targeting email first users Need temporary access links Combine Multiple Methods when: Want flexibility for different user preferences Building enterprise apps with various auth requirements Need progressive enhancement (start simple, add more options) Core Architecture Better Auth uses client server architecture: 1. Server ( better auth ): Handles auth logic, database ops, API routes 2. Client ( better auth/client ): Provides hooks/methods for frontend 3. Plugins : Extend both server/client functionality Implementation Checklist [ ] Install better auth package [ ] Set environment variables (SECRET, URL) [ ] Create auth server instance with database config [ ] Run schema migration ( npx @better auth/cli generate ) [ ] Mount API handler in framework [ ] Create client instance [ ] Implement sign up/sign in UI [ ] Add session management to components [ ] Set up protected routes/middleware [ ] Add plugins as needed (regenerate schema after) [ ] Test complete auth flow [ ] Configure email sending (verification/reset) [ ] Enable rate limiting for production [ ] Set up error handling Reference Documentation Core Authentication [Email/Password Authentication](./references/email password auth.md) Email/password setup, verification, password reset, username auth [OAuth Providers](./references/oauth providers.md) Social login setup, provider configuration, token management [Database Integration](./references/database integration.md) Database adapters, schema setup, migrations Advanced Features [Advanced Features](./references/advanced features.md) 2FA/MFA, passkeys, magic links, organizations, rate limiting, session management Scripts scripts/better auth init.py Initialize Better Auth configuration with interactive setup Resources Docs: https://www.better auth.com/docs GitHub: https://github.com/better auth/better auth Plugins: https://www.better auth.com/docs/plugins Examples: https://www.better auth.com/docs/examples