Best practices for building Nuxt 3 and Vue 3 applications with TypeScript, the Composition API, and Tailwind CSS.
Use when structuring Nuxt/Vue projects, writing composables, typing components and props, wiring up server routes and plugins, or optimizing Nuxt builds and Web Vitals.
Similar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Claude CodeNot declared
CursorNot declared
CodexNot declared
GitHub CopilotNot declared
WindsurfNot declared
Gemini CLINot declared
ClineNot declared
OpenCodeNot declared
Repository health
Stars258
Default branchmain
Open issues0
Status
Active
Package contents
Files included with this skill beyond the listing page.
skill mdSKILL.md3,388 B
docsSUMMARY.md3,347 B
History
First seen on skills.sh
First recorded snapshot · 776 installs
SKILL.md
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