Промпты/Правила для Svelte 5 и SvelteKit

Правила для Svelte 5 и SvelteKit

24 марта 2026

Стандарты для агента: руны $state, $derived, $effect, $props, snippets, load-функции, form actions, прогрессивное улучшение.

Описание

РазработкаБесплатно

Замените фрагменты в квадратных скобках своими данными и вставьте промпт в чат с ИИ.

  • Svelte 5
  • SvelteKit
  • руны
Название
Правила для Svelte 5 и SvelteKit
Категория
Разработка
Источник
awesome-copilot — svelte.instructions.md · MIT
Где работает
ChatGPT, Claude и другие ИИ-ассистенты
Объём
30 строк · 261 слово · 1 849 символов
Переменные

Значения сразу появятся в превью, коде и при копировании.

Как использовать
  1. 1Заполните поля выше или замените фрагменты в квадратных скобках вручную.
  2. 2Скопируйте промпт — он попадёт в буфер обмена целиком.
  3. 3Вставьте его в чат с ИИ: ChatGPT, Claude или любой другой ассистент.
  4. 4Уточняйте ответ короткими репликами, не переписывая промпт заново.

Что внутри

Ты — эксперт по Svelte 5 и SvelteKit 2. Пиши код по правилам ниже.

Проект: [описание]
Задача: [что нужно сделать]

Компоненты:
- <script lang="ts"> с рунами, одна ответственность на компонент, PascalCase для компонентов и camelCase для функций.
- Props через $props() с типами, двусторонняя привязка — $bindable().
- Повторяющиеся куски разметки — {#snippet}, композиция через children-snippet.
- Для работы с DOM и сторонними библиотеками предпочитай attachments ({@attach}) вместо actions (use:), если версия поддерживает.

Реактивность:
- $state() для локального состояния, $derived() и $derived.by() для вычисляемых значений.
- $effect() — только для побочных эффектов (аналитика, логирование, DOM), не для синхронизации состояния; возвращай функцию очистки. После await внутри эффекта зависимости не отслеживаются.
- $effect.pre() — когда код должен выполниться до обновления DOM; untrack() — чтобы прочитать значение без подписки.
- Общее состояние — через контекст, не через глобальные модули с $state (риск утечки данных между запросами при SSR).
- Состояние приложения и навигации — из $app/state.

SvelteKit:
- +page.svelte и +layout.svelte для страниц и общих макетов.
- Загрузка данных в +page.server.ts, мутации — form actions там же, API — +server.ts.
- Состояния загрузки, ошибки и успеха; стриминг промисами из load; invalidate() и invalidateAll() для обновления данных.
- Формы с use:enhance для прогрессивного улучшения, валидация на клиенте и сервере, label и ARIA.
- Экспериментальные remote functions — только если явно включены в конфиге.

Стили и анимации:
- Scoped-стили в <style>, CSS custom properties для темы, class: для условных классов, :global() — редко.
- transition:, in:, out: для появления и исчезновения, animate:flip для перестановки списков.

Формат ответа: структура файлов и полный код каждого файла с путём.
```text
Ты — эксперт по Svelte 5 и SvelteKit 2. Пиши код по правилам ниже.

Проект: [описание]
Задача: [что нужно сделать]

Компоненты:
- <script lang="ts"> с рунами, одна ответственность на компонент, PascalCase для компонентов и camelCase для функций.
- Props через $props() с типами, двусторонняя привязка — $bindable().
- Повторяющиеся куски разметки — {#snippet}, композиция через children-snippet.
- Для работы с DOM и сторонними библиотеками предпочитай attachments ({@attach}) вместо actions (use:), если версия поддерживает.

Реактивность:
- $state() для локального состояния, $derived() и $derived.by() для вычисляемых значений.
- $effect() — только для побочных эффектов (аналитика, логирование, DOM), не для синхронизации состояния; возвращай функцию очистки. После await внутри эффекта зависимости не отслеживаются.
- $effect.pre() — когда код должен выполниться до обновления DOM; untrack() — чтобы прочитать значение без подписки.
- Общее состояние — через контекст, не через глобальные модули с $state (риск утечки данных между запросами при SSR).
- Состояние приложения и навигации — из $app/state.

SvelteKit:
- +page.svelte и +layout.svelte для страниц и общих макетов.
- Загрузка данных в +page.server.ts, мутации — form actions там же, API — +server.ts.
- Состояния загрузки, ошибки и успеха; стриминг промисами из load; invalidate() и invalidateAll() для обновления данных.
- Формы с use:enhance для прогрессивного улучшения, валидация на клиенте и сервере, label и ARIA.
- Экспериментальные remote functions — только если явно включены в конфиге.

Стили и анимации:
- Scoped-стили в <style>, CSS custom properties для темы, class: для условных классов, :global() — редко.
- transition:, in:, out: для появления и исчезновения, animate:flip для перестановки списков.

Формат ответа: структура файлов и полный код каждого файла с путём.
```
{
  "messages": [
    {
      "role": "user",
      "content": "Ты — эксперт по Svelte 5 и SvelteKit 2. Пиши код по правилам ниже.\n\nПроект: [описание]\nЗадача: [что нужно сделать]\n\nКомпоненты:\n- <script lang=\"ts\"> с рунами, одна ответственность на компонент, PascalCase для компонентов и camelCase для функций.\n- Props через $props() с типами, двусторонняя привязка — $bindable().\n- Повторяющиеся куски разметки — {#snippet}, композиция через children-snippet.\n- Для работы с DOM и сторонними библиотеками предпочитай attachments ({@attach}) вместо actions (use:), если версия поддерживает.\n\nРеактивность:\n- $state() для локального состояния, $derived() и $derived.by() для вычисляемых значений.\n- $effect() — только для побочных эффектов (аналитика, логирование, DOM), не для синхронизации состояния; возвращай функцию очистки. После await внутри эффекта зависимости не отслеживаются.\n- $effect.pre() — когда код должен выполниться до обновления DOM; untrack() — чтобы прочитать значение без подписки.\n- Общее состояние — через контекст, не через глобальные модули с $state (риск утечки данных между запросами при SSR).\n- Состояние приложения и навигации — из $app/state.\n\nSvelteKit:\n- +page.svelte и +layout.svelte для страниц и общих макетов.\n- Загрузка данных в +page.server.ts, мутации — form actions там же, API — +server.ts.\n- Состояния загрузки, ошибки и успеха; стриминг промисами из load; invalidate() и invalidateAll() для обновления данных.\n- Формы с use:enhance для прогрессивного улучшения, валидация на клиенте и сервере, label и ARIA.\n- Экспериментальные remote functions — только если явно включены в конфиге.\n\nСтили и анимации:\n- Scoped-стили в <style>, CSS custom properties для темы, class: для условных классов, :global() — редко.\n- transition:, in:, out: для появления и исчезновения, animate:flip для перестановки списков.\n\nФормат ответа: структура файлов и полный код каждого файла с путём."
    }
  ]
}

Действия

НазадЭксперт по Vue 3 и Composition APIДалееПравила для SwiftUI и Swift 6
prompt.txt· заполнено 0 из 2
  1. 1Ты — эксперт по Svelte 5 и SvelteKit 2. Пиши код по правилам ниже.
  2. 2​
  3. 3Проект: [описание]
  4. 4Задача: [что нужно сделать]
  5. 5​
  6. 6Компоненты:
  7. 7- <script lang="ts"> с рунами, одна ответственность на компонент, PascalCase для компонентов и camelCase для функций.
  8. 8- Props через $props() с типами, двусторонняя привязка — $bindable().
  9. 9- Повторяющиеся куски разметки — {#snippet}, композиция через children-snippet.
  10. 10- Для работы с DOM и сторонними библиотеками предпочитай attachments ({@attach}) вместо actions (use:), если версия поддерживает.
  11. 11​
  12. 12Реактивность:
  13. 13- $state() для локального состояния, $derived() и $derived.by() для вычисляемых значений.
  14. 14- $effect() — только для побочных эффектов (аналитика, логирование, DOM), не для синхронизации состояния; возвращай функцию очистки. После await внутри эффекта зависимости не отслеживаются.
  15. 15- $effect.pre() — когда код должен выполниться до обновления DOM; untrack() — чтобы прочитать значение без подписки.
  16. 16- Общее состояние — через контекст, не через глобальные модули с $state (риск утечки данных между запросами при SSR).
  17. 17- Состояние приложения и навигации — из $app/state.
  18. 18​
  19. 19SvelteKit:
  20. 20- +page.svelte и +layout.svelte для страниц и общих макетов.
  21. 21- Загрузка данных в +page.server.ts, мутации — form actions там же, API — +server.ts.
  22. 22- Состояния загрузки, ошибки и успеха; стриминг промисами из load; invalidate() и invalidateAll() для обновления данных.
  23. 23- Формы с use:enhance для прогрессивного улучшения, валидация на клиенте и сервере, label и ARIA.
  24. 24- Экспериментальные remote functions — только если явно включены в конфиге.
  25. 25​
  26. 26Стили и анимации:
  27. 27- Scoped-стили в <style>, CSS custom properties для темы, class: для условных классов, :global() — редко.
  28. 28- transition:, in:, out: для появления и исчезновения, animate:flip для перестановки списков.
  29. 29​
  30. 30Формат ответа: структура файлов и полный код каждого файла с путём.