Introduction

Nuxt Auto is a collection of modules that dramatically accelerate full-stack development by automatically generating production-ready APIs and admin interfaces from your database schemas.

Introduction

Nuxt Auto is a collection of modules that dramatically accelerate full-stack development by automatically generating production-ready APIs and admin interfaces from your database schemas.

What is Nuxt Auto?

Nuxt Auto consists of two complementary Nuxt modules:

Nuxt Auto API

Auto-generate type-safe REST APIs from Drizzle ORM schemas

Define your database schema with Drizzle ORM and get complete CRUD endpoints automatically. No need to write repetitive route handlers, validation logic, or authorization checks manually.

Key capabilities:

  • Automatic CRUD endpoint generation
  • Multi-tier authorization (operation, SQL, object, field level)
  • Built-in validation with Zod
  • Multi-database support (SQLite, Postgres, MySQL, D1, Turso, PlanetScale)
  • Plugin system for extensibility
  • Custom endpoints and handler overrides
  • Cursor & offset pagination
  • Soft delete support
  • Multi-tenancy
  • M2M relationships
  • Lifecycle hooks

Nuxt Auto Admin

Beautiful admin panel generated from Auto API resources

Once your APIs are defined, Auto Admin automatically creates a complete admin interface with full CRUD operations, permissions, and customization options.

Key capabilities:

  • Auto-generated CRUD pages (list, detail, create, edit)
  • Permission-based access control
  • Rich form widgets (text, select, date, relations, rich text, markdown, code, file upload, etc.)
  • M2M relationship management
  • Custom pages for specialized admin functionality
  • Fully customizable branding and theming
  • Dark mode support
  • Responsive design

Why Nuxt Auto?

Eliminate Boilerplate

Stop writing the same CRUD endpoints and admin interfaces over and over. Define your schema once, get everything else automatically.

Without Nuxt Auto:

// Manual API route
export default defineEventHandler(async (event) => {
  const id = getRouterParam(event, 'id')
  const body = await readBody(event)

  // Manual validation
  if (!body.email || !isValidEmail(body.email)) {
    throw createError({ statusCode: 400, message: 'Invalid email' })
  }

  // Manual authorization
  const user = await getUser(event)
  if (!user || user.role !== 'admin') {
    throw createError({ statusCode: 403, message: 'Forbidden' })
  }

  // Manual database query
  const result = await db.update(users)
    .set(body)
    .where(eq(users.id, id))
    .returning()

  return result[0]
})

With Nuxt Auto:

// Your schema IS your API
export const users = sqliteTable('users', {
  id: integer('id').primaryKey({ autoIncrement: true }),
  email: text('email').notNull().unique(),
  name: text('name'),
  role: text('role', { enum: ['user', 'admin'] }).default('user'),
})

Type-Safe End-to-End

Full TypeScript inference from database schema to frontend components. Change your schema, and TypeScript will guide you through updating your entire stack.

Production-Ready Features

Built-in authorization, validation, pagination, multi-tenancy, soft deletes, and more. All the features you need for production applications without writing them yourself.

Flexible & Extensible

Not a black box. Override any handler, add custom endpoints, create plugins, define custom validation, and build custom admin pages when needed.

Use Cases

Nuxt Auto is perfect for:

  • SaaS applications - Multi-tenant data isolation, admin panels, user management
  • Internal tools - Rapid development of CRUD interfaces for internal teams
  • Content management - Blog posts, pages, media management
  • Data dashboards - Admin interfaces for viewing and editing data
  • MVP development - Ship faster with auto-generated APIs and admin UIs
  • Monolithic applications - Full-stack Nuxt apps with database-driven features

Architecture

┌─────────────────────────────────────────┐
│         Nuxt Application                │
├─────────────────────────────────────────┤
│                                         │
│  Frontend (Auto-generated Composables)  │
│  • useAutoApiList()                     │
│  • useAutoApiMutation()                 │
│  • Admin UI Components                  │
│                                         │
├─────────────────────────────────────────┤
│                                         │
│  Auto API (REST Endpoints)              │
│  • GET /api/users                       │
│  • POST /api/users                      │
│  • PATCH /api/users/:id                 │
│  • DELETE /api/users/:id                │
│                                         │
├─────────────────────────────────────────┤
│                                         │
│  Drizzle ORM                            │
│  • Type-safe queries                    │
│  • Schema definitions                   │
│  • Migrations                           │
│                                         │
├─────────────────────────────────────────┤
│                                         │
│  Database                               │
│  • SQLite / Postgres / MySQL            │
│  • Cloudflare D1 / Turso / PlanetScale  │
│                                         │
└─────────────────────────────────────────┘

Next Steps

Need a Landing Page?

Modern landing pages with optional modules (blog, docs, forms, i18n). Let's discuss your project.

Build Your MVP

Full-stack SaaS development. Expert in database design, multi-tenancy, and scalable architecture.

Deployment Help

Dockerize your backend, set up CI/CD pipelines, deploy to Cloudflare or Hetzner. Early-stage setup.

Suggest a SaaS Tool

Missing a calculator or tool? Suggest what you'd like to see on our site.