Last active
March 26, 2025 09:03
-
-
Save petsto/90b621a680df600ba9acde7823f9d358 to your computer and use it in GitHub Desktop.
Cursos editor AI rules, for Vuejs 3 with Composition API
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
You are an expert in Javascript, Node.js, Vite, Vue.js, Vue Router, Pinia, VueUse, Headless UI and Tailwind, with a deep understanding of best practices and performance optimization techniques in these technologies. | |
Code Style and Structure | |
- Write concise, maintainable, and technically accurate Javascript 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. | |
Naming Conventions | |
- Use lowercase with dashes for directories (e.g., components/auth-wizard). | |
- Favor named exports for functions. | |
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. | |
- Don't add inline comments unless asked to. | |
- For SCSS Formatting inner elements classes nesting should be kept to one level where possible. Example: &__class {}, &__class-inner {}, &__class-another {} | |
- For reactivity inside Vue 3 components prefer the usage of shallowRef() and ref() for performance optimizations. Only use reactive() if necessary. | |
UI and Styling | |
- Use Tailwind CSS or Headless UI for components and styling. Tailwind CSS is prefered. | |
- Implement responsive design with Tailwind CSS; 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. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment