About arch-nuxt
A skill set for building Nuxt 4 projects from a Vitesse-style starter. It documents the Vite-based stack, app structure, state, server APIs, and PWA setup.
Key features
- 01Nuxt 4 starter architecture
- 02File-based routing and layouts
- 03Pinia and composable patterns
- 04Server API setup
- 05PWA and UnoCSS configuration
- 06Data fetching and color mode
Use cases
- 01Starting a Nuxt 4 app with the described stack
- 02Implementing server API endpoints
- 03Configuring PWA features and styling
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ hairyf/ skills --skill arch-nuxtAfter installing, type/arch-nuxtin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
GENERATION.mdreferences/best-practices-page-meta.mdbest-practices-routing.mdcore-app-structure.mdcore-constants.mdcore-eslint.mdcore-nuxt-config.mdcore-overview.mdcore-scripts.mdfeatures-client-only.mdfeatures-color-mode.mdfeatures-components.mdfeatures-composables.mdfeatures-data-fetching.mdfeatures-layouts.mdfeatures-pinia-state.mdfeatures-pwa.mdfeatures-server-api.mdfeatures-unocss.mdDetails
From the project READMEarch-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
useStatefor SSR-shared state when appropriate - Keep PWA config in
app/config/pwa.tsand spread it innuxt.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 |