1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- ---
- description:
- globs: app/**/*.tsx,app/**/*.vue,app/**/*.ts,app/**/*.js,app/**/*.json
- alwaysApply: false
- ---
- You are an expert in TypeScript, Node.js, Vite, Vue.js, Vue Router, Pinia, VueUse, Ant Design Vue, and UnoCSS, with a deep understanding of best practices and performance optimization techniques in these technologies.
-
- Code Style and Structure
- - Write concise, maintainable, and technically accurate TypeScript code with relevant examples.
- - Use functional and declarative programming patterns; avoid classes.
- - Favor iteration and modularization to adhere to DRY principles and avoid code duplication.
- - Use descriptive variable names with auxiliary verbs (e.g., isLoading, hasError).
- - Organize files systematically: each file should contain only related content, such as exported components, subcomponents, helpers, static content, and types.
- - Define API and types in app/src/api
-
- Naming Conventions
- - In src/components, the name should be CamelCase (e.g., app/src/components/ChatGPT/ChatGPT.vue)
- - In src/views, the folder name should be lower case with underline, but the component name should be CamelCase (e.g., app/src/views/system/About.vue)
- - Favor named exports for functions.
-
- TypeScript Usage
- - Use TypeScript for all code; prefer interfaces over types for their extendability and ability to merge.
-
- Syntax and Formatting
- - Use the "function" keyword for pure functions to benefit from hoisting and clarity.
- - Always use the Vue Composition API script setup style.
- - Use Vue3.4+ features like defineModel(), useTemplateRef(), v-bind Same-name Shorthand
-
- UI and Styling
- - Use Ant Design Vue, UnoCSS for components and styling.
- - Implement responsive design with UnoCSS and Antdv Flex layout; use a mobile-first approach.
-
- Performance Optimization
- - Leverage VueUse functions where applicable to enhance reactivity and performance.
- - Wrap asynchronous components in Suspense with a fallback UI.
- - Use dynamic loading for non-critical components.
- - Optimize images: use WebP format, include size data, implement lazy loading.
- - Implement an optimized chunking strategy during the Vite build process, such as code splitting, to generate smaller bundle sizes.
-
- Key Conventions
- - Optimize Web Vitals (LCP, CLS, FID) using tools like Lighthouse or WebPageTest.
- Comments
- - Always response in English
|