Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit310a73f

Browse files
Add VueJs 3 instructions (#94)
* Add VueJs 3 instructions* Fixing readme---------Co-authored-by: Aaron Powell <me@aaron-powell.com>
1 parent11a0820 commit310a73f

File tree

2 files changed

+154
-0
lines changed

2 files changed

+154
-0
lines changed

‎README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ Team and project-specific instructions to enhance GitHub Copilot's behavior for
6464
|[SQL Development](instructions/sql-sp-generation.instructions.md)| Guidelines for generating SQL statements and stored procedures|[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fsql-sp-generation.instructions.md)[![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fsql-sp-generation.instructions.md)|
6565
|[Taming Copilot](instructions/taming-copilot.instructions.md)| Prevent Copilot from wreaking havoc across your codebase, keeping it under control.|[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftaming-copilot.instructions.md)[![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftaming-copilot.instructions.md)|
6666
|[TanStack Start with Shadcn/ui Development Guide](instructions/tanstack-start-shadcn-tailwind.instructions.md)| Guidelines for building TanStack Start applications|[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftanstack-start-shadcn-tailwind.instructions.md)[![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftanstack-start-shadcn-tailwind.instructions.md)|
67+
|[VueJS 3 Development Instructions](instructions/vuejs3.instructions.md)| VueJS 3 development standards and best practices with Composition API and TypeScript|[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fvuejs3.instructions.md)[![Install in VS Code](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fvuejs3.instructions.md)|
6768

6869
>💡**Usage**: Copy these instructions to your`.github/copilot-instructions.md` file or create task-specific`.github/.instructions.md` files in your workspace's`.github/instructions` folder.
6970

‎instructions/vuejs3.instructions.md

Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
---
2+
description:'VueJS 3 development standards and best practices with Composition API and TypeScript'
3+
applyTo:'**/*.vue, **/*.ts, **/*.js, **/*.scss'
4+
---
5+
6+
#VueJS 3 Development Instructions
7+
8+
Instructions for building high-quality VueJS 3 applications with the Composition API, TypeScript, and modern best practices.
9+
10+
##Project Context
11+
- Vue 3.x with Composition API as default
12+
- TypeScript for type safety
13+
- Single File Components (`.vue`) with`<script setup>` syntax
14+
- Modern build tooling (Vite recommended)
15+
- Pinia for application state management
16+
- Official Vue style guide and best practices
17+
18+
##Development Standards
19+
20+
###Architecture
21+
- Favor the Composition API (`setup` functions and composables) over the Options API
22+
- Organize components and composables by feature or domain for scalability
23+
- Separate UI-focused components (presentational) from logic-focused components (containers)
24+
- Extract reusable logic into composable functions in a`composables/` directory
25+
- Structure store modules (Pinia) by domain, with clearly defined actions, state, and getters
26+
27+
###TypeScript Integration
28+
- Enable`strict` mode in`tsconfig.json` for maximum type safety
29+
- Use`defineComponent` or`<script setup lang="ts">` with`defineProps` and`defineEmits`
30+
- Leverage`PropType<T>` for typed props and default values
31+
- Use interfaces or type aliases for complex prop and state shapes
32+
- Define types for event handlers, refs, and`useRoute`/`useRouter` hooks
33+
- Implement generic components and composables where applicable
34+
35+
###Component Design
36+
- Adhere to the single responsibility principle for components
37+
- Use PascalCase for component names and kebab-case for file names
38+
- Keep components small and focused on one concern
39+
- Use`<script setup>` syntax for brevity and performance
40+
- Validate props with TypeScript; use runtime checks only when necessary
41+
- Favor slots and scoped slots for flexible composition
42+
43+
###State Management
44+
- Use Pinia for global state: define stores with`defineStore`
45+
- For simple local state, use`ref` and`reactive` within`setup`
46+
- Use`computed` for derived state
47+
- Keep state normalized for complex structures
48+
- Use actions in Pinia stores for asynchronous logic
49+
- Leverage store plugins for persistence or debugging
50+
51+
###Composition API Patterns
52+
- Create reusable composables for shared logic, e.g.,`useFetch`,`useAuth`
53+
- Use`watch` and`watchEffect` with precise dependency lists
54+
- Cleanup side effects in`onUnmounted` or`watch` cleanup callbacks
55+
- Use`provide`/`inject` sparingly for deep dependency injection
56+
- Use`useAsyncData` or third-party data utilities (Vue Query)
57+
58+
###Styling
59+
- Use`<style scoped>` for component-level styles or CSS Modules
60+
- Consider utility-first frameworks (Tailwind CSS) for rapid styling
61+
- Follow BEM or functional CSS conventions for class naming
62+
- Leverage CSS custom properties for theming and design tokens
63+
- Implement mobile-first, responsive design with CSS Grid and Flexbox
64+
- Ensure styles are accessible (contrast, focus states)
65+
66+
###Performance Optimization
67+
- Lazy-load components with dynamic imports and`defineAsyncComponent`
68+
- Use`<Suspense>` for async component loading fallbacks
69+
- Apply`v-once` and`v-memo` for static or infrequently changing elements
70+
- Profile with Vue DevTools Performance tab
71+
- Avoid unnecessary watchers; prefer`computed` where possible
72+
- Tree-shake unused code and leverage Vite’s optimization features
73+
74+
###Data Fetching
75+
- Use composables like`useFetch` (Nuxt) or libraries like Vue Query
76+
- Handle loading, error, and success states explicitly
77+
- Cancel stale requests on component unmount or param change
78+
- Implement optimistic updates with rollbacks on failure
79+
- Cache responses and use background revalidation
80+
81+
###Error Handling
82+
- Use global error handler (`app.config.errorHandler`) for uncaught errors
83+
- Wrap risky logic in`try/catch`; provide user-friendly messages
84+
- Use`errorCaptured` hook in components for local boundaries
85+
- Display fallback UI or error alerts gracefully
86+
- Log errors to external services (Sentry, LogRocket)
87+
88+
###Forms and Validation
89+
- Use libraries like VeeValidate or@vueuse/form for declarative validation
90+
- Build forms with controlled`v-model` bindings
91+
- Validate on blur or input with debouncing for performance
92+
- Handle file uploads and complex multi-step forms in composables
93+
- Ensure accessible labeling, error announcements, and focus management
94+
95+
###Routing
96+
- Use Vue Router 4 with`createRouter` and`createWebHistory`
97+
- Implement nested routes and route-level code splitting
98+
- Protect routes with navigation guards (`beforeEnter`,`beforeEach`)
99+
- Use`useRoute` and`useRouter` in`setup` for programmatic navigation
100+
- Manage query params and dynamic segments properly
101+
- Implement breadcrumb data via route meta fields
102+
103+
###Testing
104+
- Write unit tests with Vue Test Utils and Jest
105+
- Focus on behavior, not implementation details
106+
- Use`mount` and`shallowMount` for component isolation
107+
- Mock global plugins (router, Pinia) as needed
108+
- Add end-to-end tests with Cypress or Playwright
109+
- Test accessibility using axe-core integration
110+
111+
###Security
112+
- Avoid using`v-html`; sanitize any HTML inputs rigorously
113+
- Use CSP headers to mitigate XSS and injection attacks
114+
- Validate and escape data in templates and directives
115+
- Use HTTPS for all API requests
116+
- Store sensitive tokens in HTTP-only cookies, not`localStorage`
117+
118+
###Accessibility
119+
- Use semantic HTML elements and ARIA attributes
120+
- Manage focus for modals and dynamic content
121+
- Provide keyboard navigation for interactive components
122+
- Add meaningful`alt` text for images and icons
123+
- Ensure color contrast meets WCAG AA standards
124+
125+
##Implementation Process
126+
1. Plan component and composable architecture
127+
2. Initialize Vite project with Vue 3 and TypeScript
128+
3. Define Pinia stores and composables
129+
4. Create core UI components and layout
130+
5. Integrate routing and navigation
131+
6. Implement data fetching and state logic
132+
7. Build forms with validation and error states
133+
8. Add global error handling and fallback UIs
134+
9. Add unit and E2E tests
135+
10. Optimize performance and bundle size
136+
11. Ensure accessibility compliance
137+
12. Document components, composables, and stores
138+
139+
##Additional Guidelines
140+
- Follow Vue’s official style guide (vuejs.org/style-guide)
141+
- Use ESLint (with`plugin:vue/vue3-recommended`) and Prettier for code consistency
142+
- Write meaningful commit messages and maintain clean git history
143+
- Keep dependencies up to date and audit for vulnerabilities
144+
- Document complex logic with JSDoc/TSDoc
145+
- Use Vue DevTools for debugging and profiling
146+
147+
##Common Patterns
148+
- Renderless components and scoped slots for flexible UI
149+
- Compound components using provide/inject
150+
- Custom directives for cross-cutting concerns
151+
- Teleport for modals and overlays
152+
- Plugin system for global utilities (i18n, analytics)
153+
- Composable factories for parameterized logic

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp