К основному содержанию
правило

svelte-5-vs-svelte-4-cursorrules-prompt-file — правило для Cursor

Инструктирует Cursor писать код по стандартам Svelte 5: использовать руны $state и $derived, стандартные атрибуты событий и snippets вместо синтаксиса Svelte 4.

Установить в Cursor · Вручную: положить файлы Все способы и платформы ↓
.cursor/rules/svelte-5-vs-svelte-4-cursorrules-prompt-file.mdc
Открыть на GitHub

Что делает svelte-5-vs-svelte-4-cursorrules-prompt-file

Правило задаёт для Cursor рамки перехода со старого синтаксиса Svelte 4 на Svelte 5. Модель перестаёт генерировать реактивные метки $: и директивы вроде on:click, заменяя их на руны $state, $derived, $effect и стандартные HTML-атрибуты onclick.

Внутри зафиксированы ключевые нюансы компилятора: руны встроены в синтаксис фреймворка, поэтому попытка импортировать $state или $props вызовет ошибку сборки. Для отмены стандартных действий браузера правило исключает модификатор |preventDefault и требует вызывать e.preventDefault() прямо в коде обработчика.

В конфигурации файла указана маска **/* и отключено принудительное применение через alwaysApply: false. Правило вступает в силу по контексту запроса, удерживая Cursor от устаревших паттернов разметки.

Какие задачи решает

  • Переписать реактивные метки $: на руны $derived и $effect
  • Заменить директивы on:click на стандартные свойства onclick
  • Убрать устаревшие модификаторы событий вроде |preventDefault
  • Предотвратить ошибочный импорт компиляторных рун в блоке <script>

Примеры запросов агенту

  • Перепиши этот компонент счётчика со Svelte 4 на синтаксис Svelte 5 с рунами
  • Добавь обработчик клика на кнопку без использования устаревшей директивы on:click
  • Сделай вычисляемое значение для общей суммы через $derived

Как установить svelte-5-vs-svelte-4-cursorrules-prompt-file

Вручную: положить файлы

.cursor/rules/svelte-5-vs-svelte-4-cursorrules-prompt-file.mdc

Во frontmatter: description, globs, alwaysApply

По шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules

Вопросы о svelte-5-vs-svelte-4-cursorrules-prompt-file

Как установить svelte-5-vs-svelte-4-cursorrules-prompt-file в Cursor?

Создайте в корне проекта файл .cursor/rules/svelte-5-vs-svelte-4-cursorrules-prompt-file.mdc и добавьте в него текст правила.

Что делает это правило?

Оно обучает Cursor генерировать компоненты Svelte 5, заменяя синтаксис Svelte 4 на явные руны реактивности и стандартные свойства событий HTML.

Нужно ли импортировать руны $state и $derived?

Нет, компилятор Svelte 5 обрабатывает руны как синтаксические конструкции. Импортировать нужно только вспомогательные утилиты вроде tick или untrack.

Исходный текст

svelte-5-vs-svelte-4-cursorrules-prompt-file.mdc · CC0-1.0
---
description: "Cursor rules for comparing Svelte 5 and Svelte 4 development."
globs: **/*
alwaysApply: false
---
I'm using svelte 5 instead of svelte 4 here is an overview of the changes.
# .cursorrules for Svelte 5

## Overview of Changes

Svelte 5 introduces runes, a set of advanced primitives for controlling reactivity. The runes replace certain non-runes features and provide more explicit control over state and effects.

Snippets, along with render tags, help create reusable chunks of markup inside your components, reducing duplication and enhancing maintainability.

## Event Handlers in Svelte 5

In Svelte 5, event handlers are treated as standard HTML properties rather than Svelte-specific directives, simplifying their use and integrating them more closely with the rest of the properties in the component.

### Svelte 4 vs. Svelte 5:

**Before (Svelte 4):**
```html
<script>
  let count = 0;
  $: double = count * 2;
  $: {
    if (count > 10) alert('Too high!');
  }
</script>
<button on:click={() => count++}> {count} / {double}</button>
```

**After (Svelte 5):**
```html
<script>
  // Define state with runes
  let count = $state(0);
  
  // Option 1: Using $derived for computed values
  let double = $derived(count * 2);
  
  // Reactive effects using runes
  $effect(() => {
    if (count > 10) alert('Too high!');
  });
</script>

<!-- Standard HTML event attributes instead of Svelte directives -->
<button onclick={() => count++}>
  {count} / {double}
</button>

<!-- Alternatively, you can compute values inline -->
<!-- <button onclick={() => count++}>
  {count} / {count * 2}
</button> -->
```

## Key Differences:

1. **Reactivity is Explicit**: 
   - Svelte 5 uses `$state()` to explicitly mark reactive variables
   - `$derived()` replaces `$:` for computed values 
   - `$effect()` replaces `$: {}` blocks for side effects

2. **Event Handling is Standardized**:
   - Svelte 4: `on:click={handler}`
   - Svelte 5: `onclick={handler}`

3. **Runes are Compiler Syntax**:
   - Do not import `$state`, `$derived`, `$effect`, `$props`, `$bindable`, or `$inspect`.
   - Import only regular Svelte utilities that require imports, such as `tick`, `untrack`, `mount`, or `unmount`.

4. **No More Event Modifiers**:
   - Svelte 4: `on:click|preventDefault={handler}`
   - Svelte 5: `onclick={e => { e.preventDefault(); handler(e); }}`

This creates clearer, more maintainable components compared to Svelte 4's previous syntax by making reactivity explicit and using standardized web platform features.

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

Похожие правила IDE

Все правила IDE по теме «Фронтенд и UI» →
winui3 официальный github Правило задаёт рекомендации для WinUI 3 и Windows App SDK: от XAML и потоков до окон и MVVM. Пригодится, чтобы Copilot учитывал особенности настольных приложений Windows. ★ 40 451звёзд репо vue официальный github Правило задаёт Copilot стандарты Vue 3: Composition API, <script setup>, реактивность, Pinia и Vue Router. Пригодится, когда агент пишет компоненты в вашем стиле. ★ 40 451звёзд репо tanstack-start-shadcn-tailwind официальный github Правило задаёт Copilot стек TanStack Start, Shadcn/ui и Tailwind CSS и требует валидировать внешние данные через Zod. ★ 40 451звёзд репо tailwind-v4-vite официальный github Правило помогает подключить Tailwind CSS v4 к проекту на Vite через официальный плагин. Пригодится и для новой установки, и при переходе с v3. ★ 40 451звёзд репо svelte официальный github Направляет GitHub Copilot на стандарты Svelte 5 и SvelteKit 2: руны вместо старых сторов, типизация компонентов и безопасная работа с SSR. ★ 40 451звёзд репо power-bi-custom-visuals-development официальный github Правило для GitHub Copilot, которое подсказывает агенту, как писать кастомные визуалы Power BI на React, D3.js и TypeScript. ★ 40 451звёзд репо

Из того же набора234

Весь набор →
sveltekit-typescript-guide-cursorrules-prompt-file Правило для Cursor, которое настраивает агента на Svelte 5, SvelteKit и TypeScript: структура проекта, руны, состояние. ★ 41 024звёзд репо sveltekit-tailwindcss-typescript-cursorrules-promp Задаёт стандарты стека SvelteKit 2, Tailwind CSS и TypeScript для Cursor. Помогает генерировать типизированные компоненты с правильной структурой файлов. ★ 41 024звёзд репо sveltekit-restful-api-tailwind-css-cursorrules-pro Правило задаёт рекомендации для разработки на SvelteKit: от REST API и Tailwind CSS до тестов, документации и Windows-команд. Пригодится, если хотите закрепить эти требования в проекте Cursor. ★ 41 024звёзд репо svelte Правило для Cursor с набором практик по Svelte: структура компонентов, реактивность, сторы, роутинг через SvelteKit и тесты. Пригодится, когда агент пишет или правит код на Svelte. ★ 41 024звёзд репо solidjs-typescript-cursorrules-prompt-file Правило задаёт ориентиры для Solid.js и TypeScript: типизированное состояние, компоненты и обработчики событий. Подойдёт для проекта, где агенту нужны такие инструкции при работе с кодом. ★ 41 024звёзд репо solidjs-tailwind-cursorrules-prompt-file Правило для Cursor, которое задаёт агенту стиль кода на Solid.js с Tailwind CSS: сигналы, утилитарные классы, структура папок. ★ 41 024звёзд репо solidjs-basic-cursorrules-prompt-file Задаёт базовые стандарты разработки на Solid.js в Cursor: от реактивных сигналов и сторов до структуры каталогов и маршрутизации. ★ 41 024звёзд репо solidity-react-blockchain-apps-cursorrules-prompt- Правило задаёт Cursor рекомендации для Solidity-контрактов и React-приложений с блокчейн-интеграцией. Пригодится для ревью контрактов и Web3-кода. ★ 41 024звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой