Getting Started
CLI
A Laravel Artisan-inspired CLI tool for generating CRUD backend files in Nuxt.
Installation
npm install -g nuxt-crud-cli
Usage
Generate a Model
Create a new Drizzle schema file:
# Basic model
nuxt-crud make:model User
# Model with fields
nuxt-crud make:model User -- --fields="name:string,email:string|unique,age:number"
Field types supported:
string,text- Text fieldsnumber,int,integer- Integer fieldsfloat,real- Float fieldsboolean,bool- Boolean fields (stored as integer in SQLite)date,datetime,timestamp- Date fields (stored as ISO strings)json- JSON fields
Field modifiers:
|required- Makes field required|unique- Makes field unique
This generates:
server/api/v1/{resource}/index.ts- List all itemsserver/api/v1/{resource}/[id].ts- Get single itemserver/api/v1/{resource}/create.post.ts- Create new itemserver/api/v1/{resource}/update.put.ts- Update existing itemserver/api/v1/{resource}/validation/- Validation schemas using drizzle-zod
Generated Structure
server/
├── api/v1/{resource}/
│ ├── index.ts # GET /api/v1/{resource}
│ ├── [id].ts # GET /api/v1/{resource}/{id}
│ ├── create.post.ts # POST /api/v1/{resource}/create
│ ├── update.put.ts # PUT /api/v1/{resource}/update/{id}
│ └── validation/
│ ├── create{Model}Schema.ts
│ ├── update{Model}Schema.ts
│ ├── {model}ResponseSchema.ts
│ └── {model}ListResponseSchema.ts
└── database/schema/
├── index.ts # Schema exports
└── {model}.ts # Drizzle schema definition
Development
# Run CLI in development
npm run dev make:model User
# Build for production
npm run build