Урок 7. .cursorrules и контекст проекта — настройка ИИ под себя
.cursorrules — секретное оружие вайб-кодера. Вы задаёте ИИ правила: какой язык использовать, какой стиль соблюдать, какие библиотеки выбирать. В результате ИИ каждый раз создаёт код, соответствующий вашему проекту.
Описание темы
.cursorrules (или папка .cursor/rules) — файл в корне проекта, который даёт ИИ постоянные инструкции. Каждый раз, когда вы используете Chat или Agent, Cursor сначала читает этот файл и следует правилам.
Пример: если в '.cursorrules' написать 'Всегда используй TypeScript, применяй Tailwind CSS, имена функций в camelCase' — ИИ никогда не создаст JavaScript, никогда не напишет обычный CSS и всегда будет правильно именовать функции.
Для вайб-кодинга это критически важно: вам не нужно каждый раз писать в промпте 'используй TypeScript'. Один раз написали в rules — ИИ всегда следует. Это экономит время и обеспечивает стабильность результатов.
Управление контекстом шире: помимо .cursorrules, Cursor читает package.json, tsconfig, README и другие конфигурационные файлы проекта. Вы добавляете дополнительный контекст через @ mentions. Всё это в совокупности повышает качество ответов ИИ.
Что вы получите из этого урока
- Создание и правильное размещение файла .cursorrules
- Написание эффективных правил для проекта
- Получение стабильных (consistent) результатов от ИИ
- Правильное управление контекстом проекта (@mentions, .cursorignore)
- Создание сложной системы правил через папку .cursor/rules
Углублённое объяснение
Структура файла .cursorrules: файл представляет собой обычный текст (markdown или plain text). ИИ читает его полностью и использует как системный промпт. Лучший формат: сначала роль (кем работать), затем список правил (что делать/не делать), в конце — контекст проекта (какие технологии, какая структура).
Папка .cursor/rules: для крупных проектов одного .cursorrules может быть недостаточно. В папке .cursor/rules/ можно создать отдельные файлы: frontend.md, backend.md, testing.md, styling.md. Cursor прочитает все. Это позволяет задавать отдельные правила для каждой области в командных проектах.
.cursorignore: аналог .gitignore — файлы и папки, указанные здесь, Cursor не индексирует. Добавьте node_modules, .next, dist, build. Это ускоряет ответы ИИ и очищает от лишнего контента.
Пример .cursorrules для реального проекта: в профессиональных проектах к правилам добавляют стратегию error handling, naming conventions, поведение в неопределённых ситуациях (например: 'если не уверен — спроси, не угадывай'), требования к тестам и формат commit-сообщений. Это доводит ИИ почти до уровня члена команды.
Готовый шаблон промпта
Скопируйте и адаптируйте# Пример файла .cursorrules Ты опытный TypeScript/Next.js разработчик. Правила: - Всегда используй TypeScript (не JavaScript) - React Server Components по умолчанию, 'use client' только при необходимости - Для стилей CSS Modules (не Tailwind) - Имена функций camelCase, имена компонентов PascalCase - Каждой функции добавляй JSDoc-комментарий - Error handling обязателен (try/catch) - Комментарии пиши на русском языке
Почему это работает
Роль: 'опытный TypeScript/Next.js разработчик' — ИИ работает с этой перспективой
Язык: 'TypeScript, не JavaScript' — чёткое ограничение
Архитектура: 'Server Components по умолчанию' — паттерн проекта определён
Стиль: 'CSS Modules' — дизайн-решения приняты заранее
Конвенция: 'camelCase, PascalCase, JSDoc' — стандарт кода
Язык комментариев: 'на русском' — выбор языка документации
Практическое задание
- Создайте файл .cursorrules в корне проекта
- На основе шаблона выше напишите правила для своего проекта
- В Chat попросите создать простой компонент и проверьте следует ли ИИ правилам
- Измените правила (например 'используй Tailwind') и обратите внимание на разницу
- Создайте папку .cursor/rules и добавьте отдельные файлы (backend.md, frontend.md)
- В файле .cursorignore исключите node_modules и build-папки
Частые ошибки
- Писать слишком много правил — 10-20 основных достаточно, 100+ запутают ИИ
- Противоречащие правила — 'используй TypeScript' и 'пиши на чистом JavaScript' вместе нельзя
- Добавлять .cursorrules в gitignore — сохраняйте вместе с проектом, полезно для команды
- Не обновлять правила — когда проект растёт, правила тоже должны обновляться
Вопросы и ответы по уроку
Куда поместить файл .cursorrules?
В корневую папку проекта — на том же уровне, что и package.json. Cursor находит и читает его автоматически.
На каком языке писать правила?
На любом — английском, русском и т.д. ИИ понимает все. Но правила на английском работают точнее, потому что модели больше обучены на английских текстах.
Сколько файлов rules может быть в одном проекте?
В папке .cursor/rules/ — без ограничений. Но общий объём не должен превышать 10 000 слов, иначе ИИ может игнорировать важные правила.