# nuxt

Правило для Cursor задаёт агенту стиль кода в Nuxt-проекте: структура каталогов, Composition API, Pinia, useFetch. Пригодится, если агент уже начал плодить миксины и onMounted вместо SSR-фетча.

- правило · `type=rule` · Cursor · ★ 3579
- Автор: sanjeed5
- Лицензия: CC0-1.0 · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/sanjeed5/awesome-cursor-rules-mdc/tree/HEAD/rules-mdc/nuxt.mdc
- Обновлён: 2026-05-19
- HTML: https://affpapa.org/nevibecode/rules/nuxt

## Что делает

Правило описывает, как писать Nuxt-приложение по конвенциям фреймворка. Каталоги строго по назначению: `components/`, `composables/`, `layouts/`, `middleware/`, `pages/`, `plugins/`, `server/`, `store/`, `utils/`. Компоненты — `PascalCase.vue`, композаблы — `usePascalCase.ts`, страницы и лейауты — `kebab-case`. Так автоимпорты работают без ручных путей.

Внутри — разбор частых ошибок с парами «плохо/хорошо». Миксины заменяются на композаблы, пропсы для заголовка и кнопки — на именованные слоты. Состояние в Pinia меняется только через actions, стор разбивается по фичам. Данные тянутся через `useFetch` и `useAsyncData`, а не через `onMounted` с `$fetch`: последний вариант на SSR отправит два запроса. Ошибки ловятся через `error.value` и `createError`, маршруты защищаются middleware.

По производительности правило требует `<NuxtLink>` для внутренних переходов, `routeRules` для гибридного рендеринга, префикс `Lazy` для тяжёлых компонентов и `<NuxtImg>` из `@nuxt/image`. Для картинок нужен установленный модуль — без него `<NuxtImg>` в шаблоне не соберётся. Файл кладётся в `.cursor/rules/nuxt.mdc` и подхватывается по globs `**/*.{vue,js,ts}`.

## Установка

### Cursor (родная платформа)

**Вручную: положить файлы**
- Файл: `.cursor/rules/nuxt.mdc` — Во frontmatter: description, globs, alwaysApply

### Claude Code

**Вручную: положить файлы**
- Файл: `.claude/rules/nuxt.md` — Поле paths во frontmatter ограничивает файлы: globs из источника → paths

### Codex

**AGENTS.md**
- Codex читает AGENTS.md: вставьте текст правила туда

### GitHub Copilot

**Вручную: положить файлы**
- Файл: `.github/instructions/nuxt.instructions.md` — Поле applyTo задаёт, к каким файлам применять: globs из источника → applyTo

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/rules/nuxt.md`

### Cline

**Вручную: положить файлы**
- Файл: `.clinerules/nuxt.md`

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/sanjeed5/awesome-cursor-rules-mdc/tree/HEAD/rules-mdc/nuxt.mdc

## Когда брать
- объяснить агенту структуру каталогов Nuxt до первой генерации файлов
- заменить миксины на композаблы в старом компоненте
- перевести загрузку данных с `onMounted` на `useFetch`
- разложить один большой Pinia-стор на несколько по фичам
- настроить `routeRules` для статики, SWR и клиентских админ-страниц

## Примеры запросов агенту
- Перепиши этот компонент на `<script setup lang="ts">` с композаблом вместо миксина
- Замени `$fetch` в `onMounted` на `useFetch` и обработай `error.value`
- Разбей стор `user` на `auth` и `profile` и убери прямые мутации состояния

## Похожие
- [nuxt-data](https://affpapa.org/nevibecode/skills/nuxt-data.md) — скилл · 388 установок
- [Expert Nuxt Developer](https://affpapa.org/nevibecode/agents/expert-nuxt-developer.md) — субагент · ★ 40451
- [nuxt-production](https://affpapa.org/nevibecode/skills/nuxt-production.md) — скилл · 412 установок
- [nuxtjs-vue-typescript](https://affpapa.org/nevibecode/skills/nuxtjs-vue-typescript.md) — скилл · 834 установки
- [pinia-skilld](https://affpapa.org/nevibecode/skills/pinia-skilld.md) — скилл · 313 установок
- [vue-3-nuxt-3-typescript-cursorrules-prompt-file](https://affpapa.org/nevibecode/rules/vue-3-nuxt-3-typescript-cursorrules-prompt-file.md) — правило · ★ 41024

Из того же набора: [sanjeed5/awesome-cursor-rules-mdc](https://affpapa.org/nevibecode/by/sanjeed5/awesome-cursor-rules-mdc.md) — 87 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
