Skip to main content
rule

typescript-vite-tailwind-cursorrules-prompt-file — Cursor rule

A Cursor rule that pins down TypeScript code style for Vue projects built with Vite and styled with Tailwind. Useful when you want the agent's output to stay predictable.

Install into Cursor · Manually: put the files in place All methods and platforms ↓
.cursor/rules/typescript-vite-tailwind-cursorrules-prompt-file.mdc
Open on GitHub

What typescript-vite-tailwind-cursorrules-prompt-file does

The file tells the agent how to write code: functional and declarative patterns instead of classes, named exports, interfaces over types, maps instead of enums. Variable names should carry auxiliary verbs like isLoading and hasError, and directories use lowercase with dashes. Pure functions go through the function keyword.

For UI it leans on DaisyUI and Tailwind and asks for a mobile-first approach. Vue components stay in Composition API with script setup. On performance: wrap async components in Suspense with a fallback, load non-critical parts dynamically, serve images as WebP with size data and lazy loading, and split the bundle during the Vite build.

A separate section covers review — check components for unnecessary re-renders and fix them with VueUse functions. The rule lives at .cursor/rules/typescript-vite-tailwind-cursorrules-prompt-file.mdc and does not apply on its own: the description sets alwaysApply: false, so you switch it on yourself. The text covers more than the filename suggests, including Vue Router, Pinia and VueUse, so it will not fit a React codebase.

What it helps with

  • set one TypeScript style for the agent in a Vue project
  • settle interfaces versus types without another review argument
  • build mobile-first layouts with Tailwind and DaisyUI
  • cut unnecessary re-renders using VueUse functions
  • split the Vite bundle into smaller chunks

Example prompts for the agent

  • Rewrite this component with Composition API and script setup
  • Check this component for unnecessary re-renders and suggest fixes
  • Set up code splitting in the Vite build for this project

How to install typescript-vite-tailwind-cursorrules-prompt-file

Manually: put the files in place

.cursor/rules/typescript-vite-tailwind-cursorrules-prompt-file.mdc

Frontmatter: description, globs, alwaysApply

Step by step, with commands for each platform: Cursor rules: .mdc files, four modes and what replaced .cursorrules

Questions about typescript-vite-tailwind-cursorrules-prompt-file

How do I install typescript-vite-tailwind-cursorrules-prompt-file in Cursor?

Create .cursor/rules/typescript-vite-tailwind-cursorrules-prompt-file.mdc in your project root and paste the rule contents into it.

What does this rule do?

It gives the Cursor agent conventions for TypeScript: functional style, interfaces over types, maps instead of enums, Tailwind and DaisyUI for styling, VueUse for performance work, and bundle splitting in Vite.

Does the rule apply to every file automatically?

No. It carries alwaysApply: false, so you enable it yourself. The globs field points at **/*.

Source text

typescript-vite-tailwind-cursorrules-prompt-file.mdc · CC0-1.0
---
description: "Cursor rules for TypeScript development with Vite and Tailwind integration."
globs: **/*
alwaysApply: false
---
You are an expert in TypeScript, Node.js, Vite, Vue.js, Vue Router, Pinia, VueUse, DaisyUI, 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 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.

Naming Conventions

- Use lowercase with dashes for directories (e.g., components/auth-wizard).
- Favor named exports for functions.

TypeScript Usage

- Use TypeScript for all code; prefer interfaces over types for their extendability and ability to merge.
- Avoid enums; use maps instead for better type safety and flexibility.
- Use functional components with TypeScript interfaces.

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.

UI and Styling

- Use DaisyUI, and Tailwind for components and styling.
- 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.
- Use the VueUse library for performance-enhancing functions.
- Implement lazy 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.

Code Review

- Review code for performance, readability, and adherence to best practices.
- Ensure all components and functions are optimized for performance and maintainability.
- Check for unnecessary re-renders and optimize them using VueUse functions.
- Use the VueUse library for performance-enhancing functions.
- Implement lazy 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.

Best Practices

- Use the VueUse library for performance-enhancing functions.
- Implement lazy 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.

© PatrickJS · CC0-1.0 · PatrickJS/awesome-cursorrules

Similar IDE rules

All IDE rules for Frontend and UI →

From the same set68

vue-3-nuxt-3-typescript-cursorrules-prompt-file A Cursor rule that tells the agent how to write Vue 3 and Nuxt 3 code: Composition API, TypeScript interfaces, Nuxt conventions. Useful when the project already runs this stack. ★ 41,011repo stars vitest-unit-testing-cursorrules-prompt-file A Cursor rule that turns the agent into a Vitest and TypeScript test writer: it targets business logic and utilities, mocking dependencies with vi.mock. ★ 41,011repo stars unity-cursor-ai-c-cursorrules-prompt-file A Cursor rule that briefs the assistant on a Unity game project in C#: modular code, responsive mechanics, real-time performance. ★ 41,011repo stars typescript A Cursor rule that pins down how the agent writes TypeScript: types, naming, error handling. Useful when several people touch the same codebase. ★ 41,011repo stars typescript-nodejs-nextjs-react-ui-css-cursorrules- A Cursor rule that pins down how the agent writes TypeScript, Next.js App Router, React and Tailwind code. Useful when generated components drift from your conventions. ★ 41,011repo stars typescript-nextjs-supabase-cursorrules-prompt-file A Cursor rule that keeps TypeScript work on Next.js App Router and Supabase consistent: server components first, Shadcn UI, Tailwind. ★ 41,011repo stars typescript-code-convention-cursorrules-prompt-file A Cursor rule that pins down TypeScript code style for Next.js App Router, React, Expo, tRPC and Tailwind projects. Useful when the agent writes code inconsistently. ★ 41,011repo stars tauri-svelte-typescript-guide-cursorrules-prompt-f A Cursor rule that sets how the agent writes desktop apps with Tauri: Svelte on the frontend, TypeScript for types. ★ 41,011repo stars

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor