Starter to generate a configured environment with VueJS, Nuxt, Tailwind, Eslint, Unit Tests, Playwright etc.
npm install create-nuxt-baseA CLI tool to scaffold a production-ready Nuxt 4 application with TypeScript, Tailwind CSS v4, NuxtUI v4, and modern tooling.
``bash`
npx create-nuxt-base my-awesome-project
cd my-awesome-project
npm run dev
The development server starts at http://localhost:3001
| Technology | Version | Description |
| ------------ | ------- | ------------------------------------- |
| Nuxt | 4.x | Vue 3 meta-framework with SSR support |
| TypeScript | 5.9.x | Strict type checking enabled |
| Tailwind CSS | 4.x | Utility-first CSS with Vite plugin |
| NuxtUI | 4.x | Component library with dark mode |
Complete authentication system using Better Auth:
| Feature | Description |
| ------------------ | ----------------------------------------------------- |
| Email/Password | Standard auth with client-side SHA256 hashing |
| Two-Factor (2FA) | TOTP-based 2FA with backup codes |
| Passkey/WebAuthn | Passwordless authentication (Touch ID, Face ID, etc.) |
| Password Reset | Email-based password reset flow |
| Session Management | SSR-compatible cookie-based sessions |
Pre-built auth pages: login, register, forgot-password, reset-password, 2fa
š See AUTH.md for detailed documentation
| Package | Purpose |
| --------------------- | --------------------------- |
| Pinia | State management |
| VueUse | Vue composition utilities |
| @hey-api/client-fetch | Type-safe API client |
| Valibot | Schema validation for forms |
- @nuxtjs/seo - Sitemap, robots.txt, OG images
- @nuxtjs/plausible - Privacy-friendly analytics
- @nuxt/image - Image optimization with IPX
| Tool | Purpose |
| ------------------ | ---------------------------------- |
| OxLint | Fast linting |
| OxFmt | Code formatting |
| Playwright | E2E testing |
| @lenne.tech/bug.lt | Bug reporting to Linear (dev only) |
| dayjs-nuxt | Date/time handling |
- TUS resumable upload support (tus-js-client)TusFileUpload.vue
- Pre-built component
- Dockerfile.dev for containerized development
- Hot reload enabled
``
my-project/
āāā app/
ā āāā assets/css/ # Tailwind CSS
ā āāā components/ # Vue components (auto-imported)
ā ā āāā Modal/ # Modal components
ā ā āāā Transition/ # Transition components
ā ā āāā Upload/ # File upload components
ā āāā composables/ # Composables (auto-imported)
ā āāā interfaces/ # TypeScript interfaces
ā āāā layouts/ # Nuxt layouts
ā āāā lib/ # Auth client configuration
ā āāā middleware/ # Route middleware (auth, admin, guest)
ā āāā pages/ # File-based routing
ā ā āāā auth/ # Authentication pages
ā ā āāā app/ # Protected app pages
ā āāā utils/ # Utility functions
ā āāā app.config.ts # NuxtUI configuration
āāā docs/ # Dev-only documentation layer
āāā tests/ # Playwright E2E tests
āāā nuxt.config.ts # Nuxt configuration
āāā openapi-ts.config.ts # API type generation config
āāā playwright.config.ts # E2E test configuration
| Script | Description |
| ------------------------ | -------------------------------------- |
| npm run dev | Start development server |npm run build
| | Build for production |npm run preview
| | Preview production build |npm run generate-types
| | Generate TypeScript types from OpenAPI |npm run test
| | Run Playwright E2E tests |npm run lint
| | Run OxLint |npm run format
| | Run OxFmt |npm run check
| | Run lint + format check |npm run fix
| | Auto-fix lint + format issues |
Create a .env file based on .env.example:
`envRequired
SITE_URL=http://localhost:3001
API_URL=http://localhost:3000
APP_ENV=development
NODE_ENV=development
- Node.js >= 22
- npm >= 10
MIT