Перейти к содержанию
Модуль 2: Вайбкодинг: AI-кодинг через терминал и IDEУрок 4 из 17

Прогресс курса: 26 из 158 уроков · вся программа

Учебник по AI

Cursor: настройка AI-редактора под свой проект

Ваши программисты тратят часы на правки кода, который AI генерирует не в том стиле или с чужими библиотеками. Разбираем файл .cursorrules - способ задать AI правила вашего проекта: стек, стиль, запреты. Без программиста за 2 часа настроите единые стандарты для команды.

· 6 мин чтения
Cursor: настройка AI-редактора под свой проект
Содержание статьи

У ваших разработчиков уходит половина времени на то, чтобы переписывать код, сгенерированный AI - он использует не те библиотеки, не тот стиль, лепит устаревшие конструкции. А вы платите за часы. Вот как за один вечер настроить AI-редактор так, чтобы он сразу выдавал код под ваш проект. Без найма программиста для этого.

Речь про файл .cursorrules. Это текстовый файл, который кладётся в корень проекта и говорит AI: "Вот наш стек, вот наш стиль кода, вот что нельзя трогать". Cursor - это AI-редактор кода, популярный среди команд, которые хотят ускорить разработку. Файл .cursorrules - его главный инструмент настройки.

Разберём на примере: у вас небольшая стройфирма, заказавшая сайт на Next.js у фрилансера. Теперь вы хотите сами править контент через AI, но AI генерирует код на React 18 с хуками, а ваш проект на React 16. Или использует CSS-модули, хотя вы договорились на Tailwind. .cursorrules решает это за 15 минут.

Что такое .cursorrules и где он живёт в проекте

.cursorrules - это текстовый файл конфигурации, который работает как инструкция для AI в редакторе Cursor. Он определяет, как AI будет генерировать код, отвечать на вопросы и делать рефакторинг внутри вашего проекта. Файл переопределяет стандартные настройки AI, заставляя его учитывать специфику вашего проекта: какие технологии использовать, как именовать переменные, что запрещено.

Файл лежит в корневой папке проекта - рядом с package.json, tsconfig.json или docker-compose.yml. Название - ./.cursorrules. Cursor автоматически подхватывает его при открытии папки. Название начинается с точки, поэтому в проводнике он скрыт, но в редакторе виден.

Механика работы простая. При каждом запросе к AI - будь то генерация кода через Cmd+K или чат через Cmd+L - содержимое .cursorrules незаметно добавляется в контекст до обработки запроса. AI получает полную информацию о проекте: стек, фреймворки, запреты. И не нужно каждый раз напоминать в чате, какой у вас стек.

Внутри файла вы описываете правила. Например: для стилизации используем только Tailwind CSS, все компоненты - функциональные. Запрещаем устаревшие методы, магические числа, требуем JSDoc для сложных функций. Файл превращает AI в эксперта, который знает вашу кодовую базу и выдает результат без лишних правок.

Структура хорошего .cursorrules файла

Чтобы файл было легко читать и поддерживать, разбейте его на логические секции. Каждая секция отвечает за свой аспект. Используйте заголовки и группируйте настройки по категориям. Комментируйте, чтобы было понятно.

Пример структуры:

# Секция настроек стиля кода
style:
 indent_size: 4
 indent_style: space
 max_line_length: 120

# Секция настроек форматирования
format:
 trim_trailing_whitespace: true
 insert_final_newline: true

# Секция настроек запретов
restrictions:
 disallowed_functions:
 - console.log
 - alert
 disallowed_variables:
 - global

# Секция настроек стека
stack:
 max_depth: 10
 max_width: 80

Здесь четыре секции: стиль кода, форматирование, запреты и стек. В каждой - конкретные настройки. Это упрощает поиск и редактирование.

Описание стека: версии, фреймворки, линтеры

Чёткое описание технологического стека - основа качественной генерации. AI по умолчанию опирается на последние тренды, что может конфликтовать с вашим проектом. Фиксация стека экономит часы на исправления.

Начните с версий рантайма и ключевых зависимостей. Укажите конкретную версию Node.js, Python или Go. Если работаете с React 16, запретите хуки из React 18. Для Next.js уточните, Pages Router или App Router - архитектура разная.

Перечислите разрешённые библиотеки. Для форм - React Hook Form или Formik. Для HTTP-запросов - Axios или Fetch. Если используете UI-кит (Ant Design, Material UI), требуйте компоненты именно оттуда.

Отдельно пропишите инструменты линтинга и форматирования: ESLint, Stylelint, Prettier. Укажите правила: одинарные кавычки, отступы, длина строки.

Пример:

Технический стек и окружение:
- Рантайм: Node.js v20 LTS
- Фреймворк: Next.js 14 (App Router)
- Язык: TypeScript 5.2 (строгая типизация, запрещен any)
- Стилизация: Tailwind CSS, модули CSS
- Тестирование: Vitest, Testing Library
- Форматирование: Prettier (ширина 100, одинарные кавычки, trailing commas)
- Линтинг: ESLint (правила Airbnb)

После этого AI перестаёт гадать и становится предсказуемым помощником.

Соглашения кода: именование, форматирование, структура файлов

Используйте camelCase для переменных, функций, методов. Имена должны быть осмысленными. Запретите однобуквенные переменные (кроме счётчиков). Булевы переменные начинайте с is, has, should, can. Для классов, интерфейсов, типов и React-компонентов - PascalCase. Константы уровня модуля - UPPER_SNAKE_CASE. Частные свойства классов - с префиксом _ или через приватные поля.

Форматирование строго по линтеру. Отступы - 2 пробела. Длина строки - до 100 символов. Точка с запятой в конце выражений. Строки - в одинарных кавычках. В многострочных объектах - запятая после последнего элемента. Импорты делите на три блока: сторонние, модули проекта, относительные. Между блоками пустая строка. Сортировка по алфавиту. Неиспользуемые импорты и переменные удаляйте.

Файловая структура - по функциональным модулям. Не группируйте файлы по типу (все компоненты в одной папке). Создавайте папки по функциям: auth, checkout, user-profile. Внутри модуля - компоненты, хуки, сервисы, типы, стили. Используйте index.ts для реэкспорта публичного API. Имена файлов - kebab-case (например, user-service.ts). Общие абстракции - в папку shared или core. Глубина вложенности - не более 4 уровней.

Запреты: что Cursor не должен менять без спроса

Определите границы, за которые AI не может заходить без подтверждения. Это сохранит целостность проекта.

Первое - конфиденциальные данные. Запретите модифицировать файлы .env, .env.local, .env.боевая среда и файлы с секретами. AI не должен добавлять или менять переменные. Если нужна новая константа - пусть оставит комментарий, но не трогает файл.

Второе - зависимости. Не разрешайте AI править package.json, requirements.txt, go.mod. Пусть предлагает команду для установки, но не меняет манифест. Файлы блокировок (package-lock.json, yarn.lock) тоже под запретом.

Третье - инфраструктурный код. Запретите изменения в Dockerfile, docker-compose.yml, конфигах CI/CD. Ошибка там остановит деплой. Также запретите создавать или менять миграции базы данных - это может привести к потере данных.

Четвёртое - тесты. AI не должен переписывать тесты, чтобы они проходили после изменения кода. Это маскирует ошибки.

Пятое - глобальное переформатирование. Если просите исправить одну функцию, AI не должен перестраивать весь файл. Это создаёт шум в git-истории.

Шестое - не удаляйте комментарии с техническим долгом. AI часто считает их мусором, но команде они важны.

Документация в .cursorrules: ссылки и описание архитектуры

Добавьте в .cursorrules ссылки на актуальную документацию: спецификации API (Swagger/OpenAPI), внутренние базы знаний (Confluence, Notion), официальные руководства библиотек с версиями. Это предотвращает использование устаревших методов.

Форматируйте ссылки с инструкциями. Пример: "При работе с модулем платежей сверяйся со схемой БД по ссылке [URL]" или "Для стилизации используй гайдлайн [URL]".

Опишите архитектуру лаконично: монолит, микросервисы или модульный монолит. Укажите ключевые директории: /src/core - бизнес-логика, /src/infrastructure - внешние сервисы, /src/api - контроллеры. Это помогает AI маршрутизировать файлы и избегать циклических импортов.

Пропишите паттерны взаимодействия и поток данных. Если используете Event Sourcing, CQRS или слоистую архитектуру - укажите. Например: "Запрос -> API Gateway -> middleware -> Service -> PostgreSQL, кэш Redis".

Выделите статус legacy-кода: "Модуль /legacy не трогать, новые функции пишем в /src/v2".

Добавьте правило: "Перед написанием кода для новой фичи изучи архитектуру в Notion по ссылке [URL]". Не перегружайте деталями - сосредоточьтесь на принципах и контрактах.

Отдельные .cursorrules для разных модулей монорепо

В монорепозитории часто разные технологии: Next.js на фронтенде, Go на бэкенде, Python в скриптах. Единый файл .cursorrules в корне заставит AI путаться. Решение - отдельные файлы в каждом модуле.

Разместите .cursorrules в корне каждого сервиса или пакета. При редактировании файла в apps/backend/src/main.go Cursor сначала применит правила из apps/backend/.cursorrules. Если там нет указаний - обратится к глобальному.

В локальных файлах опишите специфику стека. Для apps/frontend - Tailwind, PascalCase, хуки. Для apps/backend - фреймворк, ORM.

Шаблоны .cursorrules для Python/FastAPI, Next.js, Go

Для Python/FastAPI: "Используй FastAPI. Все обработчики маршрутов - асинхронные (async def). Применяй Pydantic v2 для валидации. Обязательна аннотация типов. Структура: routers, services, models, schemas. Dependency injection для сессий БД. Запрещены глобальные переменные. Форматирование - Black и Ruff. Не используй синхронные драйверы БД в асинхронных функциях. Логирование - structlog. Миграции - Alembic. Тесты - pytest с микстурами."

Для Next.js (App Router): "Используй Next.js 14+ с App Router. Компоненты по умолчанию - Server Components. Client Components ('use client') только для интерактивности. Строгий TypeScript: запрещено any. Стилизация - Tailwind CSS и shadcn/ui. Данные получай через Server Actions или напрямую в Server Components. Запрещено useEffect для первичной загрузки. Используй path aliases (@/components). API-роуты обрабатывают ошибки и возвращают JSON. Оптимизируй изображения через next/image и шрифты через next/font."

Для Go: "Используй Go 1.21+. Обрабатывай ошибки сразу. Используй context.Context в первом аргументе функций с сетью или БД. Структура: cmd, internal, pkg. Интерфейсы для зависимостей. JSON-API - структурные теги. Форматирование - gofmt. Избегай глубокой вложенности (guard clauses). Запрещено panic в бизнес-логике, возвращай error. Логирование - slog. Тесты - table-driven. Избегай пакетных переменных."

Частые вопросы

.cursorrules это глобальный файл или per-project?

.cursorrules хранится в корне конкретного репозитория и действует только для этого проекта. Если разместить в домашней папке, будет глобальным, но по умолчанию Cursor ищет его в проекте.

Cursor загружает .cursorrules автоматически?

Cursor не читает .cursorrules сам по себе; файл нужно добавить в корень проекта и включить в настройках -> «Project -> Cursor Rules». После этого правила применяются автоматически.

Есть ли лимит на размер .cursorrules?

Лимита на размер файла нет.

Что делать прямо сейчас

  1. Откройте ваш проект в Cursor.
  2. Создайте файл .cursorrules в корне.
  3. Скопируйте один из шаблонов выше под ваш стек.
  4. Адаптируйте: уберите лишнее, добавьте свои библиотеки.
  5. Сохраните и проверьте - сгенерируйте кусок кода. Если AI использует не то - поправьте правила.

Весь процесс занимает 2-4 часа, включая первую итерацию. Программист не нужен - файл пишется на русском или английском, читается менеджером.

AI Компас (t.me/kosmoslab_ai) - канал для предпринимателей в РФ и СНГ, которые применяют AI в своём бизнесе без программиста. Разбираем инструменты и схемы - без курсов и теории.

Читайте дальше

Учебник

Windsurf, Cursor или Copilot: выбираем AI для кода

Ваш подрядчик по сайту или телеграм-боту тратит дни на правки, а вы платите за часы. Разбираем 8 AI-инструментов для написания кода: какие решат задачу без найма дорогого разработчика, сколько это стоит реально и как выбрать под ваш бюджет.

Учебник

Cursor: поиск багов и тесты для малого бизнеса

У вас нет программиста в штате, но есть сайт или приложение, которое нужно дорабатывать? Каждый баг тормозит продажи, а тестирование вручную отнимает часы. Разбираем, как с помощью AI-редактора Cursor находить ошибки, генерировать тесты и рефакторить код без глубоких технических знаний. Получите конкретный шаг: как за 2-8 часов внедрить AI-дебаг в свой бизнес.

Учебник

Cursor: как AI-редактор помогает разобраться в коде

У ваших разработчиков (или вас) уходит куча времени на поиск нужного куска кода в проекте? А если нанять программиста дорого, а проект уже разросся? Разбираем, как Cursor автоматически индексирует код и позволяет искать функции, классы и связи через @-ссылки. Вы узнаете, как за вечер настроить поиск по проекту и получать точные ответы без ручного перебора файлов. Никакой магии - только конкретные шаги для малого бизнеса.