mcpField
V
vue-application-structure

vue-application-structure

github.com/aj-geddesDevelopment373444 installsUpdated 34w ago
Repository

About vue-application-structure

A skill for structuring Vue 3 applications with the Composition API and TypeScript. It is intended for developers working on larger apps, reusable composables and state management, with guidance on organization and maintainability.

Key features

  1. 01Vue 3 Composition API patterns
  2. 02TypeScript for type safety
  3. 03Component organization guidance
  4. 04Reusable composable examples
  5. 05Pinia state management guidance

Use cases

  1. 01Organize a large Vue application
  2. 02Build reusable composables
  3. 03Develop a component library
  4. 04Structure complex state management

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill vue-application-structure

After installing, type/vue-application-structurein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
async-data-fetching-composable.md
component-organization-structure.md
form-handling-composable.md
pinia-store-state-management.md
vue-3-composition-api-component.md
templates/
component-template.tsx

Details

From the project README

Vue Application Structure

Table of Contents

Overview

Build well-organized Vue 3 applications using Composition API, proper file organization, and TypeScript for type safety and maintainability.

When to Use

  • Large-scale Vue applications
  • Component library development
  • Reusable composable hooks
  • Complex state management
  • Performance optimization

Quick Start

Minimal working example:

// useCounter.ts (Composable)
import { ref, computed } from 'vue';

export function useCounter(initialValue = 0) {
  const count = ref(initialValue);

  const doubled = computed(() => count.value * 2);
  const increment = () => count.value++;
  const decrement = () => count.value--;
  const reset = () => count.value = initialValue;

  return {
    count,
    doubled,
    increment,
    decrement,
    reset
  };
}

// Counter.vue
<template>
  <div class="counter">
    <p>Count: {{ count }}</p>
    <p>Doubled: {{ doubled }}</p>
// ... (see reference guides for full implementation)

Reference Guides

Detailed implementations in the references/ directory:

GuideContents
Vue 3 Composition API ComponentVue 3 Composition API Component
Async Data Fetching ComposableAsync Data Fetching Composable
Component Organization StructureComponent Organization Structure
Form Handling ComposableForm Handling Composable
Pinia Store (State Management)Pinia Store (State Management)

Best Practices

✅ DO
  • Follow established patterns and conventions
  • Write clean, maintainable code
  • Add appropriate documentation
  • Test thoroughly before deploying
❌ DON'T
  • Skip testing or validation
  • Ignore error handling
  • Hard-code configuration values

Comments

Markdown supported