Привет, Хабр!

К 2026-му году Cursor стал полноценной средой для кодинга без…. кодинга. Вместо этого вы оперируете ИИ-агентами и отдаете им приказы. Ручное программирование с каждым годом становится ближе к статусу «истории». Cursor является лучшим ПО для работы с агентами и вайбкодинга.

В этом гайде мы без воды рассмотрим такие аспекты программы как: интерфейс, работа с контекстом, режимы агента, модели, правила проекта, MCP, skills, hooks и др.

Актуально на лето 2026 года. На момент написания самая свежая версия — Cursor 3.6.

Поехали.


Про Cursor

Для тех, кто вообще не знаком с программой: Cursor — это форк VS Code, в который встроен искусственный интеллект, имеющий доступ ко всем файлам проекта. Переход с VSC занимает буквально несколько минут. Cursor подхватывает все расширения, темы, горячие клавиши и настройки одним кликом.

В отличие от классических веб-чатов с моделями, ИИ-Агент в Cursor способен: самостоятельно вносить правки в файлы, читать их содержимое(сохраняя контекст), самостоятельно разбираться в архитектуре проекта, делать интернет запросы, исполнять команды в терминале, читать документацию, находить баги, фиксить баги, работать с чем угодно через MCP серверы.

Обзор интерфейса

Для тех, кто работал в VS Code интерфейс покажется очень знакомым. У нас есть три основных окна:

  1. Сам редактор кода — то, что досталось от VS Code. Тут вы пишете руками, а Cursor помогает автодополнением.

  2. Агентное окно (чат) — панель сбоку, где происходит работа с агентом. Ваше главное рабочее место.

  3. Терминал — встроенный, но тоже с ИИ-фичами.

Три основных окна
Три основных окна

Возможности IDE

Для тех, кто собственноручно пишет код, в программе предусмотрено несколько полезных инструментов.

Tab — ИИ-автодополнение. Продвинутый автокомплит. Cursor предсказывает следующее осмысленное изменение: дописывает целые строки, правит соседние, предлагает прыгнуть к следующему месту, которое логично поменять. Печатаете начало — жмёте Tab — получаете готовый кусок. 

Cursor дописывает калькулятор
Cursor дописывает калькулятор

Cursor дописывает калькулятор… Это уже терминальная стадия вайбкодинга

Cmd/Ctrl+K — точечное редактирование. Выделили кусок кода, нажали Cmd/Ctrl+K, написали словами, что с ним сделать («перепиши на async/await», «добавь обработку ошибок»), и получили правку прямо на месте, с диффом. Удобно, когда нужно изменить конкретный фрагмент, а не гонять весь файл через чат.

Агентное окно

Откройте чат сочетанием Cmd/Ctrl+I . Это и есть агентное окно. Здесь вы ставите задачу человеческим языком, а агент сам решает, какие файлы прочитать, что изменить, какие команды выполнить и как проверить результат.

Работа агента
Работа агента

Он сам ходит по вашему проекту, читает нужные файлы, редактирует несколько файлов сразу, запускает терминальные команды, гоняет тесты, читает ошибки и чинит их — и все это в рамках одной задачи.

Cmd/Ctrl+E переключает компоновку агентного окна, передвигая влево-вправо.

Альтернативный вид после использования Cmd/Ctrl+E
Альтернативный вид после использования Cmd/Ctrl+E

Режимы

Переключаются режимы прямо в окне чата. Существует пять режимов для выполнения разных задач:

  • Agent — основной режим. Полный доступ к инструментам: читает и меняет файлы, запускает команды, использует внешние системы через MCP — делает всё, чтобы довести задачу до конца.

  • Ask — режим «только чтение». Агент изучает код и отвечает на вопросы, но ничего не меняет. Идеально, когда нужно разобраться в незнакомом проекте или спросить «как тут устроена авторизация?», не боясь, что он что-то перепишет.

  • Plan — режим планирования. Агент сначала задаёт уточняющие вопросы и собирает план действий, и только потом, с вашего одобрения, берётся за реализацию. Незаменимо для крупных задач, где сначала хочется обсудить подход, а не сразу получить гору правок.

  • Debug — гипотезо-ориентированная отладка. Агент не просто фиксит ошибку, а выдвигает гипотезу, сам расставляет логи, просит вас воспроизвести баг, анализирует вывод и находит корневую причину

  • Multitask — режим параллельной работы. Вы можете запустить несколько асинхронных агентов одновременно. Можно использовать для распараллеливания ваших запросов вместо того, чтобы добавлять их в очередь. Или используя worktree попросить их попробовать разные подходы к одной задаче.

Когда агент вносит изменение, оно показывается в виде diff: зелёное добавили, красное убрали. Ничего не меняется молча у вас за спиной, каждую правку вы принимаете или отклоняете кнопками.

Красные - удаленные строки, зеленые - добавленные
Красные - удаленные строки, зеленые - добавленные

Модели

Есть два отдельных пула использования для индивидуальных тарифов, каждый из которых обнуляется вместе с вашим ежемесячным платёжным циклом:

  • Auto + Composer: Существенно больший включённый объём, когда выбран Auto или Composer 2.5. Предназначен для повседневного агентного программирования по более низкой цене.

  • API: Оплата по API-тарифу модели. Индивидуальные тарифы включают как минимум $20 использования API каждый месяц (больше на более высоких уровнях) с возможностью доплатить за дополнительное использование по мере необходимости.

На выбор по API доступны всем известные: Claude Opus 4.8, ChatGPT-5.5, Gemini 3.1 Pro, Grok 4.3 и другие.

Если один пул закончится, вы сможете продолжать пользоваться программой, пока не иссякнет второй пул.

Контекст

В чат с агентом можно перетаскивать файлы, картинки, ссылки на места в коде или даже предыдущие чаты. Самый быстрый способ добавить что угодно — ввести @ прямо в чате. Открывается меню со всеми возможными источниками:

Также можно перетащить мышкой файл в чат (работает аналогично@).

Добавление контекста
Добавление контекста

Агент сразу будет знать, что нам нужно редактировать вот этот файл или посмотреть на него в качестве референса. Кроме файла можно также давать конкретные строки: выделяем нужный участок кода в конкретном файле, и здесь всплывает подсказка — добавить в чат(Cmd/Ctrl+L) или отредактировать(Cmd/Ctrl+K).

В правом нижнем углу поля ввода есть небольшой кружок. Он показывает, насколько заполнено контекстное окно. Когда место заканчивается, агент автоматически делает summary предыдущей переписки и продолжает работу.

Кружочек контекста
Кружочек контекста
Автоиндексция вкл/выкл

В настройках можно включить автоматическую индексацию новых папок и настроить игнорирование файлов. Индексация проекта происходит при первом открытии: Cursor сканирует кодовую базу и строит что-то вроде карты файлов. Индексация нужна для того, чтобы агент понимал архитектуру и знал, где лежат конкретные сервисы или конфиги, не дожидаясь ваших объяснений

Отключить этот параметр стоит, если вы хотите вручную контролировать то, с чем может взаимодействовать ваш агент и в приоритете у вас безопасность и конфиденциальность. Если автоиндексация отключена, агент перестанет автоматически видеть новые файлы в структуре проекта. Вам придется каждый раз тыкать его носом в нужные данные, чтобы он мог с ними работать.

В Cursor также можно создать файл .cursorignore. Там прописываются файлы и папки, которые не будут доступны агенту. Можнопрописать там .env или файлы с расширением .md, чтобы скрыть чувствительные данные, пароли и ключи.

Терминал

Встроенный терминал в Cursor — это тот же терминал, что в VS Code.

Если нажать Cmd+K прямо в терминале, появляется строка ввода — и туда можно написать задачу обычным языком. Например: «покажи все файлы старше 3 дней» или «найди процессы, слушающие порт 3000». Cursor сгенериркет готовую shell-команду.

Генерация команды
Генерация команды

В Agent Mode агент сам запускает команды в терминале. По мере выполнения задачи он может поставить зависимости, запустить тесты, собрать проект.

По умолчанию вам требуется подтверждать команды, для продолжения работы агента. Вы можете настроить.

Для тех, кто готов к полной автономии, существует Run everything Mode. Режим обеспечивает автономное выполнение команд без подтверждения на каждом этапе.

Находится в Settings > Agent > Run Mode Используйте на свой страх и риск. (а лучше не используйте)

Выбран Run everything Mode
Выбран Run everything Mode

Другой вариант – использовать Allowlist. Туда добавляется разрешенные команды, которые агент будет выполнять без вашего подтверждения.

Allowlist
Allowlist

Настройки программы

Правила для агента

Правил нужны для того чтобы не описывать в каждом запросе то, как надо выполнять задачи. Каждый раз объяснять агенту «используй TypeScript strict mode, pydantic для валидации, тесты обязательны» быстро надоедает.

Правила хранятся в папке .cursor/rules/ как .mdc -файлы. Создать новое правило можно через /create-rule в чате с агентом или вручную в файле с инструкцией.

У правил вначале есть метаданные, которые определяют диапазон работы и логику.

Пример правила
Пример правила
  • Always Apply (Всегда применять) — это самый прямолинейный флаг. Если он установлен в true, правило будет автоматически добавляться в контекст каждого нового чата. Это удобно для глобальных стандартов проекта, но стоит быть осторожным: если таких правил много, они начнут съедать полезный лимит контекста агента.

  • Apply Intelligently (Применять интеллектуально) — в этом режиме Cursor сам решает, нужно ли правило для текущей задачи. Чтобы это работало эффективно, в правиле обязательно должно быть заполнено поле description (описание). Агент читает это описание и, если оно совпадает с вашим запросом, подтягивает полное содержимое правила в контекст.

  • Apply to Specific Files (Применять к конкретным файлам) — этот флаг позволяет ограничить действие правила по расширениям или путям. Например, можно указать, чтобы правило срабатывало только для файлов .ts или только для папки src/config/.

  • Apply Manually (Применять вручную) — правило никогда не подтягивается само. Вам нужно явно упомянуть его через символ @ в чате, чтобы агент начал им руководствоваться в конкретном диалоге

MCP

Для тех, кто читал нашу статью про MCP понимают насколько это важный инструмент. Говоря по-простому – это протокол, который позволяет агенту работать со сторонними сервисами, приложениями, учиться новым трюкам и возможностям.

Подключение происходит в разделе Settings -> Cursor Settings -> Tools and MCPs.

Существует два типа подключения:

  1. Remote (Удаленное): Вы подключаетесь к серверу по URL. Это безопасно для вашей системы, но данные запроса передаются на сторонний сервер.

  2. Local (Локальное): Сервер запускается прямо на вашем компьютере, обычно через команду npx. Это дает агенту доступ к вашей файловой системе и работает быстрее, но требует доверия к коду сервера.

Процесс добавления:

  1. Нажмите Add Custom MCP Server.

  2. Введите название и выберите тип (command или http).

  3. Для локальных серверов укажите команду (например, npx -y @modelcontextprotocol/server-sequential-thinking).

  4. Если требуется, пропишите API-ключи в конфигурационном JSON-файле

    Пример MCP сервера
    Пример MCP сервера

Список доступных серверов — на mcp.so и mcpservers.org

Skills и hooks

Если правила это то, что агент всегда (или при некоторых условиях) держит в голове, то навыки(skills), хуки(hooks) вызываются когда они действительно нужны. Это инструменты для тех, кто хочет выстроить вокруг Cursor полноценный рабочий процесс.

Как создать навык?

Введите /create-skill в чате и опишите нужный вам навык. В Cursor есть встроенный навык, который шаг за шагом поможет вам выбрать имя, структурировать и сохранить ваш новый навык.

Чтобы создать навык вручную, добавьте файл SKILL.md в папку .cursor/skills/название-вашего-навыка/:

# Развертывание на staging
1. Выполнить набор тестов
2. Собрать production-бандл
3. Развернуть в staging-среде
4. Проверить работоспособность развертывания (health check)

Навыки хранятся в .cursor/skills/ в виде обычных .md файлов. Каждый файл это описание многошагового рабочего сценария. Когда задача соответствует описанию навыка, агент сам его читает и следует инструкциям. Классический пример — навык stage-skill: перед развертыванием прогоняем тесты, собираем бандл и потом разворачиваем.

Разница с Rules здесь в том, что правило — это постоянное ограничение или инструкция, которую агент учитывает всегда. А навык — это опциональный сценарий, который подключается под конкретную задачу.

Навыки также можно вызвать вручную — для этого нужно ввести символ / в чате Агента и найти навык по его названию.

Когда следует использовать навыки вместо правил?

Правила

Навыки

Назначение

Краткие рекомендации по написанию кода и ограничения

Многоэтапные рабочие процессы и процедуры

Объем

От нескольких строк до нескольких сотен строк

Зачастую больше, содержат подробные пошаговые инструкции

Как применяются

Добавляются в качестве контекста в каждую (или соответствующую) беседу

Вызываются по требованию с помощью /название-навыка или @название-навыка

Пример

«Использовать TypeScript для всех новых файлов»

«Развертывание на staging: выполнить тесты, собрать, развернуть, проверить»

Хуки (Hooks) — это .cursor/hooks.json, JSON-файл с конфигурацией событий. Хуки запускают внешние скрипты на определённые моменты жизненного цикла агента: agentStartagentStopsubagentStartsubagentStoptoolCall.

С помощью хуков вы можете:

  • Запускать форматировщики после редактирования кода

  • Добавлять аналитику для событий

  • Проводить сканирование на наличие персональных данных (PII) или секретов

  • Контролировать выполнение рискованных операций (например, записей в SQL)

  • Управлять запуском субагента (инструмента Task)

  • Внедрять контекст в начале сессии

Этот инструмент позволяет создавать замкнутые рабочие циклы. Агент подтягивает задачу из slack -> Агент меняет файл -> хук автоматически запускает линтер или тесты -> агент видит результат в следующем шаге и исправляет проблему. Без лишних команд вручную, без переключения контекста.

Пример хука - Автоматизация TDD (хук stop)

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

Файл .cursor/hooks.json:

{
  "version": 1,
  "hooks": {
    "stop": [
      {
        "command": ".cursor/scripts/stop-when-tests-pass.sh"
      }
    ]
  }
}

Скрипт .cursor/scripts/stop-when-tests-pass.sh:

#!/bin/bash
# Запускаем тесты
npm test
# Если тесты прошли (exit code 0), возвращаем 1, чтобы остановить агента.
# Если тесты упали, возвращаем 0, чтобы агент продолжал фиксы.
if [ $? -eq 0 ]; then
  exit 1
else
  exit 0
fi

Примечание: для работы в автономном режиме нужно включить Run everything Mode

Subagents

Subagents в Cursor — это отдельные «мини-агенты», которым главный агент в чате делегирует часть работы. Когда субагент заканчивает работы — он отдает главному агенту ТОЛЬКО результат своей работы. У каждого свой контекст и своя роль, поэтому основной диалог не забивается промежуточными поисками, логами и черновиками.

Субагенты начинают работу с чистого контекста. Главный агент передает всю необходимую информацию в промпт, так как у субагентов нет доступа к предыдущей истории беседы.

Создание субагента
Создание субагента

Субагенты могут быть двух уровней:

Проектные: создаются в папке .cursor/agents/ в корне вашего проекта. Они доступны только в этом проекте и имеют приоритет при совпадении имен.

Глобальные: хранятся в ~/.cursor/agents/ и доступны во всех ваших проектах.

Файл должен начинаться с блока метаданных, ограниченного тремя тире (---). После этого блока пишутся инструкции.

Основные поля метаданных:

  • name: отображаемое имя и идентификатор. Рекомендуется использовать строчные буквы и дефисы (например, security-reviewer).

  • description: самое важное поле. Это краткое описание того, что делает субагент. Основной агент читает это описание, чтобы решить, стоит ли делегировать задачу именно этому помощнику. Чтобы поощрять автоматический вызов, используйте фразы вроде «always use for...».

  • model: по умолчанию стоит inherit (наследовать модель главного агента), но можно указать конкретную. Используйте быстрые модели для простых задач вроде поиска или тестов, чтобы сэкономить токены и время.

  • readonly: если установлено в true, субагент сможет только читать код, но не будет иметь прав на редактирование файлов или выполнение изменяющих состояние команд.

  • is_background: определяет, будет ли субагент блокировать работу основного чата. Если true, он работает независимо в фоне, что подходит для параллельных задач.

Пример правильно оформленного файла

---
name: job_checker
description: Проверяет выполненную работу. Используйте после завершения задач, чтобы подтвердить работоспособность реализации и запустить тесты.
model: inherit
readonly: false
is_background: false
---

# Инструкции для верификатора
Ты — эксперт по качеству. Твоя задача — скептически проверить изменения:
1. Проверь, что реализация соответствует ТЗ.
2. Найди и проверь крайние случаи (edge cases).
3. Запусти тесты и убедись, что они проходят.
4. Отправь краткий отчет в основной чат.

Как правильно писать инструкции

  1. Будьте лаконичны: длинные и запутанные промпты размывают фокус и могут замедлить работу.

  2. Одна задача — один субагент: не создавайте универсальных помощников. Субагенты эффективны, когда у них есть узкая специализация.

  3. Определите формат вывода: в инструкциях можно указать output_format, чтобы результат возвращался в основной чат в удобном для вас виде

Субагентов можно контролировать через Cursor Hooks (subagentStartsubagentStop).

Готовые правила и промты

Хорошая новость. Большую часть работы по написанию правил уже сделали другие. Сообщество вокруг Cursor довольно активное и в открытом доступе лежат сотни готовых конфигураций под разные стеки, фреймворки и стили разработки.

  • cursor.directory. Это агрегатор с фильтрацией по языку и стеку: Python, TypeScript, Go, React, Next.js и дальше по списку. Каждое правило можно скопировать прямо со страницы. Качество разное, но базовые шаблоны там вполне рабочие.

  • Второй источник — репозиторий awesome-cursor-rules на GitHub. Там собраны community rules с пояснениями и примерами. Удобно смотреть, как другие команды формулируют требования к коду.

Заключение

«Вкалывают роботы, а не человек...»

Вот мы и дожили до момента когда 90% механической работы делегируется искусственному интеллекту. Руками кодить уже в тягость, писать тесты и документацию тем более.

Pov: кто-то спросил как тебя зовут

Как мы говорили в самом начале, роль человека – быть оператором и командиром для взвода ии агентов.

Как говорил Сунь-Цзы: «О мастерстве полководца судят по старательности его подчиненных». Если адаптировать цитату на наши реалии – ии-агенты не будут думать за вас если вы не хотите думать сами. Учитесь, развивайтесь, набирайтесь опыта и двигайтесь вперёд. Пусть Cursor вам в этом поможет.

По итогу двух запросов Cursor на тему сайта с котами и рыбками получен вот такой вот сайт.

Результат двух запросов в Cursor
Результат двух запросов в Cursor