├── .npmrc ├── public └── favicon.ico ├── eslint.config.mjs ├── pnpm-workspace.yaml ├── app ├── app.config.ts ├── assets │ └── css │ │ └── main.css ├── components │ ├── TemplateMenu.vue │ └── AppLogo.vue ├── app.vue └── pages │ └── index.vue ├── .editorconfig ├── renovate.json ├── .gitignore ├── tsconfig.json ├── nuxt.config.ts ├── package.json ├── .github └── workflows │ └── ci.yml └── README.md /.npmrc: -------------------------------------------------------------------------------- 1 | shamefully-hoist=true -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuxt-ui-pro/starter/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | import withNuxt from './.nuxt/eslint.config.mjs' 3 | 4 | export default withNuxt( 5 | // Your custom configs here 6 | ) 7 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | ignoredBuiltDependencies: 2 | - '@parcel/watcher' 3 | - '@tailwindcss/oxide' 4 | - esbuild 5 | - unrs-resolver 6 | - vue-demi 7 | -------------------------------------------------------------------------------- /app/app.config.ts: -------------------------------------------------------------------------------- 1 | export default defineAppConfig({ 2 | ui: { 3 | colors: { 4 | primary: 'green', 5 | neutral: 'slate' 6 | } 7 | } 8 | }) 9 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_size = 2 6 | indent_style = space 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "github>nuxt/renovate-config-nuxt" 4 | ], 5 | "lockFileMaintenance": { 6 | "enabled": true 7 | }, 8 | "packageRules": [{ 9 | "matchDepTypes": ["resolutions"], 10 | "enabled": false 11 | }], 12 | "postUpdateOptions": ["pnpmDedupe"] 13 | } 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Nuxt dev/build outputs 2 | .output 3 | .data 4 | .nuxt 5 | .nitro 6 | .cache 7 | dist 8 | 9 | # Node dependencies 10 | node_modules 11 | 12 | # Logs 13 | logs 14 | *.log 15 | 16 | # Misc 17 | .DS_Store 18 | .fleet 19 | .idea 20 | 21 | # Local env files 22 | .env 23 | .env.* 24 | !.env.example 25 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | // https://nuxt.com/docs/guide/concepts/typescript 3 | "files": [], 4 | "references": [ 5 | { "path": "./.nuxt/tsconfig.app.json" }, 6 | { "path": "./.nuxt/tsconfig.server.json" }, 7 | { "path": "./.nuxt/tsconfig.shared.json" }, 8 | { "path": "./.nuxt/tsconfig.node.json" } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /app/assets/css/main.css: -------------------------------------------------------------------------------- 1 | @import "tailwindcss"; 2 | @import "@nuxt/ui"; 3 | 4 | @theme static { 5 | --font-sans: 'Public Sans', sans-serif; 6 | 7 | --color-green-50: #EFFDF5; 8 | --color-green-100: #D9FBE8; 9 | --color-green-200: #B3F5D1; 10 | --color-green-300: #75EDAE; 11 | --color-green-400: #00DC82; 12 | --color-green-500: #00C16A; 13 | --color-green-600: #00A155; 14 | --color-green-700: #007F45; 15 | --color-green-800: #016538; 16 | --color-green-900: #0A5331; 17 | --color-green-950: #052E16; 18 | } 19 | -------------------------------------------------------------------------------- /nuxt.config.ts: -------------------------------------------------------------------------------- 1 | // https://nuxt.com/docs/api/configuration/nuxt-config 2 | export default defineNuxtConfig({ 3 | modules: [ 4 | '@nuxt/eslint', 5 | '@nuxt/ui' 6 | ], 7 | 8 | devtools: { 9 | enabled: true 10 | }, 11 | 12 | css: ['~/assets/css/main.css'], 13 | 14 | routeRules: { 15 | '/': { prerender: true } 16 | }, 17 | 18 | compatibilityDate: '2025-01-15', 19 | 20 | eslint: { 21 | config: { 22 | stylistic: { 23 | commaDangle: 'never', 24 | braceStyle: '1tbs' 25 | } 26 | } 27 | } 28 | }) 29 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nuxt-ui-template-starter", 3 | "private": true, 4 | "type": "module", 5 | "scripts": { 6 | "build": "nuxt build", 7 | "dev": "nuxt dev", 8 | "preview": "nuxt preview", 9 | "postinstall": "nuxt prepare", 10 | "lint": "eslint .", 11 | "typecheck": "nuxt typecheck" 12 | }, 13 | "dependencies": { 14 | "@iconify-json/lucide": "^1.2.74", 15 | "@iconify-json/simple-icons": "^1.2.59", 16 | "@nuxt/ui": "^4.2.1", 17 | "nuxt": "^4.2.2" 18 | }, 19 | "devDependencies": { 20 | "@nuxt/eslint": "^1.10.0", 21 | "eslint": "^9.39.1", 22 | "typescript": "^5.9.3", 23 | "vue-tsc": "^3.1.5" 24 | }, 25 | "packageManager": "pnpm@10.23.0" 26 | } 27 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: ci 2 | 3 | on: push 4 | 5 | jobs: 6 | ci: 7 | runs-on: ${{ matrix.os }} 8 | 9 | strategy: 10 | matrix: 11 | os: [ubuntu-latest] 12 | node: [22] 13 | 14 | steps: 15 | - name: Checkout 16 | uses: actions/checkout@v6 17 | 18 | - name: Install pnpm 19 | uses: pnpm/action-setup@v4 20 | 21 | - name: Install node 22 | uses: actions/setup-node@v6 23 | with: 24 | node-version: ${{ matrix.node }} 25 | cache: pnpm 26 | 27 | - name: Install dependencies 28 | run: pnpm install 29 | 30 | - name: Lint 31 | run: pnpm run lint 32 | 33 | - name: Typecheck 34 | run: pnpm run typecheck 35 | -------------------------------------------------------------------------------- /app/components/TemplateMenu.vue: -------------------------------------------------------------------------------- 1 | 50 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Nuxt Starter Template 2 | 3 | [![Nuxt UI](https://img.shields.io/badge/Made%20with-Nuxt%20UI-00DC82?logo=nuxt&labelColor=020420)](https://ui.nuxt.com) 4 | 5 | Use this template to get started with [Nuxt UI](https://ui.nuxt.com) quickly. 6 | 7 | - [Live demo](https://starter-template.nuxt.dev/) 8 | - [Documentation](https://ui.nuxt.com/docs/getting-started/installation/nuxt) 9 | 10 | 11 | 12 | 13 | 14 | Nuxt Starter Template 15 | 16 | 17 | 18 | > The starter template for Vue is on https://github.com/nuxt-ui-templates/starter-vue. 19 | 20 | ## Quick Start 21 | 22 | ```bash [Terminal] 23 | npm create nuxt@latest -- -t github:nuxt-ui-templates/starter 24 | ``` 25 | 26 | ## Deploy your own 27 | 28 | [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-name=starter&repository-url=https%3A%2F%2Fgithub.com%2Fnuxt-ui-templates%2Fstarter&demo-image=https%3A%2F%2Fui.nuxt.com%2Fassets%2Ftemplates%2Fnuxt%2Fstarter-dark.png&demo-url=https%3A%2F%2Fstarter-template.nuxt.dev%2F&demo-title=Nuxt%20Starter%20Template&demo-description=A%20minimal%20template%20to%20get%20started%20with%20Nuxt%20UI.) 29 | 30 | ## Setup 31 | 32 | Make sure to install the dependencies: 33 | 34 | ```bash 35 | pnpm install 36 | ``` 37 | 38 | ## Development Server 39 | 40 | Start the development server on `http://localhost:3000`: 41 | 42 | ```bash 43 | pnpm dev 44 | ``` 45 | 46 | ## Production 47 | 48 | Build the application for production: 49 | 50 | ```bash 51 | pnpm build 52 | ``` 53 | 54 | Locally preview production build: 55 | 56 | ```bash 57 | pnpm preview 58 | ``` 59 | 60 | Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information. 61 | -------------------------------------------------------------------------------- /app/app.vue: -------------------------------------------------------------------------------- 1 | 27 | 28 | 79 | -------------------------------------------------------------------------------- /app/components/AppLogo.vue: -------------------------------------------------------------------------------- 1 | 41 | -------------------------------------------------------------------------------- /app/pages/index.vue: -------------------------------------------------------------------------------- 1 | 77 | --------------------------------------------------------------------------------