A clean Nuxt 4 starter built with Nuxt UI v4 and TypeScript.
- Node.js 20+
- pnpm
pnpm installpnpm devpnpm build
pnpm previewpnpm lint
pnpm typecheck
pnpm test
pnpm format
pnpm knipapp/
components/
composables/
layouts/
pages/
server/
shared/
domains/
nuxt.config.ts
This starter supports domain-style Nuxt layers under domains/<name>/.
Create a domain with its own Nuxt config:
domains/
blog/
nuxt.config.ts
pages/
blog/
index.vue
Example domains/blog/nuxt.config.ts:
export default defineNuxtConfig({
// Domain-scoped config (components, pages, server routes, etc.)
});In nuxt.config.ts, add an extends array (or append to it):
export default defineNuxtConfig({
extends: ['./domains/blog'],
});For multiple domains:
extends: ['./domains/blog', './domains/account']Put pages in the domain’s pages/ directory and Nuxt will register routes automatically.
After adding/removing a layer:
pnpm devMIT