Nuxt Crouton follows a generate-then-customize approach. Once code is generated, it becomes yours to modify and extend as needed. This is the fundamental principle: generated code is your code, so edit it freely. After generation, the files live in your project and you own them completely. Customize them however you need. Just remember: regenerating will lose your changes. Unlike runtime admin panels or frameworks that lock you into their patterns, Nuxt Crouton gives you a starting point that you can modify without restriction.
When you run the generator, it creates files in your project structure:
layers/[layer]/
└── collections/
└── [collection]/
├── app/
│ ├── components/
│ │ ├── List.vue # Yours to customize
│ │ └── _Form.vue # Yours to customize
│ └── composables/
│ └── use[Layer][Collection].ts # Yours to customize (e.g., useShopProducts.ts)
└── types.ts # Yours to customize
These files are independent and not linked to the Nuxt Crouton core library. They simply use the core library's utilities. You can modify them without breaking updates to the core library, regenerate them if needed (though you'll lose customizations), copy patterns between collections, and version control your customizations.
Customize when:
Regenerate when:
Regenerating will overwrite your customizations. Always use version control and commit your work before regenerating.
Now that you understand the ownership model, learn how to make common customizations: