skills/nuxt-better-auth/SKILL.md
Use when implementing auth in Nuxt apps with @onmax/nuxt-better-auth - provides useUserSession composable, server auth helpers, route protection, and Better Auth plugins integration.
npx skillsauth add popey/nuxt-skills nuxt-better-authInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Authentication module for Nuxt 4+ built on Better Auth. Provides composables, server utilities, and route protection.
Alpha Status: This module is currently in alpha (v0.0.2-alpha.19) and not recommended for production use. APIs may change.
@onmax/nuxt-better-auth@nuxtjs/i18nFor Nuxt patterns: use nuxt skill
For NuxtHub database: use nuxthub skill
| File | Topics | | -------------------------------------------------------------------- | ---------------------------------------------------------------------- | | references/installation.md | Module setup, env vars, config files | | references/client-auth.md | useUserSession, signIn/signUp/signOut, BetterAuthState, safe redirects | | references/server-auth.md | serverAuth, getUserSession, requireUserSession | | references/route-protection.md | routeRules, definePageMeta, middleware | | references/plugins.md | Better Auth plugins (admin, passkey, 2FA) | | references/database.md | NuxtHub integration, Drizzle schema, custom tables with FKs | | references/client-only.md | External auth backend, clientOnly mode, CORS | | references/types.md | AuthUser, AuthSession, type augmentation |
Consider loading these reference files based on your task:
DO NOT load all files at once. Load only what's relevant to your current task.
| Concept | Description |
| ---------------------- | --------------------------------------------------------------- |
| useUserSession() | Client composable - user, session, loggedIn, signIn/Out methods |
| requireUserSession() | Server helper - throws 401/403 if not authenticated |
| auth route mode | 'user', 'guest', { user: {...} }, or false |
| serverAuth() | Get Better Auth instance in server routes |
// Client: useUserSession()
const { user, loggedIn, signIn, signOut } = useUserSession()
await signIn.email({ email, password }, { onSuccess: () => navigateTo('/') })
// Server: requireUserSession()
const { user } = await requireUserSession(event, { user: { role: 'admin' } })
// nuxt.config.ts: Route protection
routeRules: {
'/admin/**': { auth: { user: { role: 'admin' } } },
'/login': { auth: 'guest' },
'/app/**': { auth: 'user' }
}
Token efficiency: Main skill ~300 tokens, each sub-file ~800-1200 tokens
development
Use when building with Reka UI (headless Vue components) - provides component API, accessibility patterns, composition (asChild), controlled/uncontrolled state, virtualization, and styling integration. Formerly Radix Vue.
testing
Use when managing Node.js dependencies with pnpm - install packages, configure monorepo workspaces, set up pnpm catalogs, resolve dependency conflicts with overrides, patch third-party packages, and configure CI pipelines for pnpm projects
development
Use when building NuxtHub v0.10.6 applications - provides database (Drizzle ORM with sqlite/postgresql/mysql), KV storage, blob storage, and cache APIs. Covers configuration, schema definition, migrations, multi-cloud deployment (Cloudflare, Vercel), and the new hub:db, hub:kv, hub:blob virtual module imports.
tools
Use when working on Nuxt 4+ projects - provides server routes, file-based routing, middleware patterns, Nuxt-specific composables, and configuration with latest docs. Covers h3 v1 helpers (validation, WebSocket, SSE) and nitropack v2 patterns. Updated for Nuxt 4.3+.