--- 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