mcpField
N
nuxtjs-vue-typescript

nuxtjs-vue-typescript

github.com/mindrallyDevelopment287841 installsUpdated 3w ago
Repository

About nuxtjs-vue-typescript

A development skill for building Nuxt 3 and Vue 3 applications with TypeScript. It provides conventions for component structure, UI libraries, data fetching, performance, and Nuxt features.

Key features

  1. 01Composition API and TypeScript patterns
  2. 02Component and file organization
  3. 03Shadcn Vue, Radix Vue, and Tailwind
  4. 04Nuxt routing and server routes
  5. 05Data fetching and SEO
  6. 06Lazy loading and performance optimization

Use cases

  1. 01Structuring a Nuxt 3 application
  2. 02Building reusable Vue components
  3. 03Creating responsive interfaces
  4. 04Optimizing routes, images, and bundles

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/mindrally/skills --skill nuxtjs-vue-typescript

After installing, type/nuxtjs-vue-typescriptin Claude Code to confirm it loaded.

Details

From the project README

NuxtJS Vue TypeScript Development

Guidelines for building Nuxt 3 and Vue 3 applications with TypeScript, Shadcn Vue, Radix Vue, VueUse, and Tailwind.

Code Style and Structure

  • Write concise, technical TypeScript with accurate examples
  • Employ composition API with declarative patterns; avoid options API
  • Favor iteration and modularity over code duplication
  • Use descriptive variable names with auxiliary verbs (isLoading, hasError)
  • Organize files: exported component, composables, helpers, static content, types
  • Keep component boundaries clear — a component should own one piece of UI/behavior; extract composables when logic grows beyond simple template glue

Naming Conventions

  • Directories: lowercase with dashes (components/auth-wizard)
  • Components: PascalCase (AuthWizard.vue)
  • Composables: camelCase (useAuthState.ts)

TypeScript Usage

  • Utilize TypeScript throughout; prefer types over interfaces, but use interfaces where you expect a shape to be extended or implemented (e.g. component prop contracts)
  • Keep shared types close to the feature that owns them; only promote a type to a shared types/ directory once a second feature needs it
  • Avoid enums; use const objects instead
  • Leverage Vue 3 with TypeScript, defineComponent, and PropType

Syntax and Formatting

  • Use arrow functions for methods and computed properties
  • Minimize curly braces in conditionals
  • Employ template syntax for declarative rendering

UI and Styling

  • Implement Shadcn Vue, Radix Vue, and Tailwind
  • Design responsively with mobile-first Tailwind approach
  • Keep Tailwind usage accessible and consistent with the project's design system rather than one-off utility soup

Performance

  • Leverage Nuxt's built-in optimizations
  • Use Suspense for async components
  • Implement lazy loading for routes and components
  • Optimize images: WebP format, size data, lazy loading
  • Review bundle size periodically (nuxi analyze) and use dynamic import() for heavy, rarely-used components

Key Conventions

  • VueUse for common composables — reach for them where they simplify reactivity, but avoid ones that hide state transitions you need to reason about explicitly
  • Pinia for state management
  • Optimize Web Vitals (LCP, CLS, FID)
  • Use Nuxt's auto-imports feature

Nuxt-Specific Guidelines

  • Follow Nuxt 3 directory structure (pages/, components/, composables/, layouts/, plugins/, server/)
  • Leverage auto-imports, file-based routing, server routes, plugins
  • Use layouts (layouts/default.vue, <NuxtLayout>) to share page chrome instead of duplicating it per page
  • Use server/api/ routes (Nitro) for server-side endpoints, and useRuntimeConfig() for environment-specific config instead of hardcoding values
  • Use useFetch and useAsyncData for data fetching
  • Implement SEO with useHead and useSeoMeta

Vue 3 Composition API Best Practices

  • Use <script setup> syntax
  • Leverage ref, reactive, and computed
  • Use provide/inject for dependency injection
  • Create custom composables for reusable logic

Comments

Markdown supported