@websideproject/nuxt-auto-admin
@websideproject/nuxt-auto-admin
An admin panel generated from your @websideproject/nuxt-auto-api resources, built on Nuxt UI. Every resource you register gets a list, detail, create and edit page, and each caller sees exactly what the API allows them.

- Generated from the API registry — sidebar, dashboard and resource pages, no per-resource code
- Permission-aware — buttons follow the API's rules, down to the row: Edit/Delete are disabled on records an
objectLevelrule refuses - Forms from the schema — a widget per column type, many-to-many cards for junction tables
- List tools — search, filters, pagination, bulk delete, CSV/JSON export
- Extensible — custom pages, custom actions, widgets, branding and theming, dark mode
Install
npx nuxt module add @websideproject/nuxt-auto-admin
It needs @websideproject/nuxt-auto-api (set up with resources) and @nuxt/ui.
Quick start
// nuxt.config.ts
export default defineNuxtConfig({
modules: [
'@nuxt/ui',
'@websideproject/nuxt-auto-api', // before the admin, so its resources are registered
'@websideproject/nuxt-auto-admin',
],
autoAdmin: {
prefix: '/admin',
branding: { title: 'My Admin Panel' },
},
})
The admin pages use the admin layout, which Nuxt renders only inside <NuxtLayout>:
<!-- app/app.vue -->
<template>
<UApp>
<NuxtLayout>
<NuxtPage />
</NuxtLayout>
</UApp>
</template>
Open /admin. A resource without authorization refuses every request (the API is deny-by-default), so its
pages show "permission denied" until you declare who may do what.
Screenshots
From the repo's playground, taken by its CI:
![]() |
![]() |
| Filters per column type | View in a dialog |
![]() |
![]() |
| Bulk delete of the selected rows | As a regular user: only what the API allows |
![]() |
![]() |
| Edit with many-to-many cards | Import from CSV |
Documentation
Full documentation: websideproject.com/docs/nuxt-auto
- Getting started
- Configuration & theming · Resource configuration · Form fields & widgets
- Permissions · M2M relationships
- Custom pages · Custom actions · Composables
- The API it builds on: @websideproject/nuxt-auto-api
Links
License
Related Packages
API-driven dynamic CRUD table and forms in Nuxt.js. Automatically reflects backe...
Secure REST APIs for Nuxt from your Drizzle schema: deny-by-default authorizatio...
Dynamic RESTful CRUD APIs for Nuxt without code generation, fully schema-driven.
Nuxt module for @adminlte/vue — auto-imports, CSS, Bootstrap init, and SSR-safe...
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 0.1.5 | ^3.0 | MIT | |
| 0.1.4 | ^3.0 | MIT | |
| 0.1.3 | ^3.0 | MIT | |
| 0.1.2 | ^3.0 | MIT | |
| 0.1.1 | ^3.0 | MIT | |
| 0.1.0 | ^3.0 | MIT | |
| 0.0.11 | ^3.0 | MIT | |
| 0.0.10 | ^3.0 | MIT | |
| 0.0.9 | ^3.0 | MIT | |
| 0.0.8 | ^3.0 | MIT | |
| 0.0.7 | ^3.0 | MIT | |
| 0.0.6 | ^3.0 | MIT | |
| 0.0.3 | ^3.0 | MIT | |
| 0.0.2 | ^3.0 | MIT | |
| 0.0.1 | ^3.0 | MIT |





