vue-expert-js

Generates Vue 3 components and composables in JavaScript with JSDoc type annotations.

Updated Mar 9, 2026
One-click install
npx skills add https://github.com/ArMaTeC/Redball --skill vue-expert-js-armatec
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: vue-expert-js
Source: https://github.com/ArMaTeC/Redball/tree/main/.devin/skills/vue-expert-js
Command: npx skills add https://github.com/ArMaTeC/Redball --skill vue-expert-js-armatec

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Teams building Vue 3 applications without TypeScript lose static type safety and IDE autocomplete, leading to runtime errors and undocumented component APIs. This Skill generates Vue 3 code in plain JavaScript with comprehensive JSDoc annotations, restoring type coverage without a TypeScript compiler. ## Core Features & Use Cases - JSDoc-Typed Components: Creates <script setup> components with @typedef-annotated props, emits, slots, and provide/inject patterns. - Typed Composables and Stores: Builds reusable composables and Pinia stores with @param, @returns, and import('vue').Ref<T> annotations. - Testing and Verification: Sets up Vitest component tests and validates JSDoc coverage with eslint-plugin-jsdoc. - Use Case: When migrating a Vue 2 Options API project to the Composition API in a JavaScript-only codebase, generate components and composables that keep full IDE type hints without adding a TS build step. ## Quick Start Ask the assistant to create a Vue 3 component or composable in JavaScript with JSDoc type annotations, for example a typed user card component with props and emits.

Frequently Asked Questions about vue-expert-js

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add type safety to Vue 3 without TypeScript?▼

Use JSDoc annotations in plain JavaScript files. Define object shapes with @typedef, annotate refs with @type {import('vue').Ref<T>}, and document functions with @param and @returns to get IDE autocomplete and type hints without a TS compiler.

How to type Vue 3 props and emits with JSDoc?▼

Define a @typedef object describing each prop and emit signature, then annotate the defineProps result with @type. Runtime validators in the props definition can also carry JSDoc types for their parameters.

Can I use JSDoc types with Pinia stores in Vue?▼

Yes. In setup-style Pinia stores, annotate state refs with @type {import('vue').Ref<T>} and document actions with @param and @returns. Shared types can live in a types file and be imported via import('./types.js').TypeName.

Does JSDoc typing work with Vue composables and generics?▼

Yes. Composables support @template for generic parameters, and return types are declared with a @typedef describing the returned refs and functions. This gives callers full type inference in supporting editors.

When should I not use JSDoc instead of TypeScript in Vue?▼

Avoid JSDoc-only typing when the project needs compile-time type enforcement, complex generic inference, or strict CI type checking. JSDoc provides editor hints and documentation but no build-time errors without extra tooling.