arch-nuxt is the Vitesse-style starter for Nuxt 4: SSR, file-based routing, auto-imports, and an opinionated stack (Vite, UnoCSS, Pinia, VueUse, ColorMode, VitePWA). It provides a minimal, production-ready setup: app/ structure, layouts, composables, Pinia store with HMR, server API, PWA config, and UnoCSS. Prefer Vite-powered Nuxt; do not consider webpack or other bundlers.
The skill is based on vitesse-nuxt (arch-nuxt source), generated at 2026-01-30.
Recommended practices:
- Prefer Vite-powered Nuxt; skip webpack and other bundlers
- Use Pinia for global/client state; use
useState for SSR-shared state when appropriate
- Keep PWA config in
app/config/pwa.ts and spread it in nuxt.config.ts
Core References
| Topic |
Description |
Reference |
| Overview |
Project purpose, structure, stack, when to use |
core-overview |
| Nuxt config |
defineNuxtConfig, modules, app head, nitro, experimental |
core-nuxt-config |
| App structure |
app/, app.vue, NuxtLayout, NuxtPage |
core-app-structure |
| Scripts |
build, dev, generate, preview, typecheck, dev:pwa |
core-scripts |
| Constants |
app/constants, appName, appDescription |
core-constants |
| ESLint |
@antfu/eslint-config, Nuxt append |
core-eslint |
Features
| Topic |
Description |
Reference |
| Layouts |
Layout system, definePageMeta layout |
features-layouts |
| Composables |
useCount, useState, auto-import |
features-composables |
| Pinia state |
useUserStore, defineStore, HMR |
features-pinia-state |
| Server API |
defineEventHandler, server/api |
features-server-api |
| PWA |
VitePWA config, manifest, workbox, dev PWA |
features-pwa |
| UnoCSS |
uno.config.ts, shortcuts, presets, icons |
features-unocss |
| ColorMode |
useColorMode, DarkToggle, theme-color meta |
features-color-mode |
| Components |
Auto-import, Counter, Footer, NuxtLink |
features-components |
| Client-only |
ClientOnly, Suspense, useOnline, fallback |
features-client-only |
| Data fetching |
useFetch, useTimeAgo, async component data |
features-data-fetching |
Best Practices
| Topic |
Description |
Reference |
| Routing |
File-based routing, dynamic/catch-all routes |
best-practices-routing |
| Page meta |
definePageMeta, layout selection |
best-practices-page-meta |
1---2name: arch-nuxt3description: Vitesse-style Nuxt 4 starter with Vite, UnoCSS, Pinia, VueUse, PWA. Use when scaffolding or maintaining a Nuxt app with this stack.4---5
6arch-nuxt is the **Vitesse-style starter for Nuxt 4**: SSR, file-based routing, auto-imports, and an opinionated stack (Vite, UnoCSS, Pinia, VueUse, ColorMode, VitePWA). It provides a minimal, production-ready setup: `app/` structure, layouts, composables, Pinia store with HMR, server API, PWA config, and UnoCSS. Prefer Vite-powered Nuxt; do not consider webpack or other bundlers.
7
8> The skill is based on vitesse-nuxt (arch-nuxt source), generated at 2026-01-30.
9
10**Recommended practices:**
11- Prefer Vite-powered Nuxt; skip webpack and other bundlers
12- Use Pinia for global/client state; use `useState` for SSR-shared state when appropriate
13- Keep PWA config in `app/config/pwa.ts` and spread it in `nuxt.config.ts`
14
15## Core References
16
17| Topic | Description | Reference |
18|-------|-------------|-----------|
19| Overview | Project purpose, structure, stack, when to use | [core-overview](references/core-overview.md) |
20| Nuxt config | defineNuxtConfig, modules, app head, nitro, experimental | [core-nuxt-config](references/core-nuxt-config.md) |
21| App structure | app/, app.vue, NuxtLayout, NuxtPage | [core-app-structure](references/core-app-structure.md) |
22| Scripts | build, dev, generate, preview, typecheck, dev:pwa | [core-scripts](references/core-scripts.md) |
23| Constants | app/constants, appName, appDescription | [core-constants](references/core-constants.md) |
24| ESLint | @antfu/eslint-config, Nuxt append | [core-eslint](references/core-eslint.md) |
25
26## Features
27
28| Topic | Description | Reference |
29|-------|-------------|-----------|
30| Layouts | Layout system, definePageMeta layout | [features-layouts](references/features-layouts.md) |
31| Composables | useCount, useState, auto-import | [features-composables](references/features-composables.md) |
32| Pinia state | useUserStore, defineStore, HMR | [features-pinia-state](references/features-pinia-state.md) |
33| Server API | defineEventHandler, server/api | [features-server-api](references/features-server-api.md) |
34| PWA | VitePWA config, manifest, workbox, dev PWA | [features-pwa](references/features-pwa.md) |
35| UnoCSS | uno.config.ts, shortcuts, presets, icons | [features-unocss](references/features-unocss.md) |
36| ColorMode | useColorMode, DarkToggle, theme-color meta | [features-color-mode](references/features-color-mode.md) |
37| Components | Auto-import, Counter, Footer, NuxtLink | [features-components](references/features-components.md) |
38| Client-only | ClientOnly, Suspense, useOnline, fallback | [features-client-only](references/features-client-only.md) |
39| Data fetching | useFetch, useTimeAgo, async component data | [features-data-fetching](references/features-data-fetching.md) |
40
41## Best Practices
42
43| Topic | Description | Reference |
44|-------|-------------|-----------|
45| Routing | File-based routing, dynamic/catch-all routes | [best-practices-routing](references/best-practices-routing.md) |
46| Page meta | definePageMeta, layout selection | [best-practices-page-meta](references/best-practices-page-meta.md) |