Введение
Cursor — это IDE на базе VS Code, которая с 2024 года плотно вошла в инструментарий многих разработчиков. В отличие от обычного автодополнения, Cursor использует AI для генерации кода, рефакторинга, отладки и даже написания документации. Однако AI-ассистент работает ровно настолько хорошо, насколько качественно вы формулируете запросы. Плохой промт — медленный и бесполезный ответ. Хороший промт — готовый код, который можно сразу коммитить.
Эта статья — не про теорию. Это подборка из 10 проверенных промтов, которые я сам использую в Cursor ежедневно. Каждый промт сопровождается реальным примером, объяснением, почему он работает, и ссылкой на официальную документацию Cursor (docs.cursor.com), если применимо.
1. Промт для автодополнения: «Напиши функцию с JSDoc и типами»
Автодополнение в Cursor (Completions) — это его «киллер-фича». Оно предсказывает несколько строк кода вперёд. Но чтобы получить качественный результат, нужно задать контекст.
Пример использования:
Вы пишете в TypeScript:
// Напиши функцию, которая принимает массив чисел и возвращает отсортированный массив по убыванию
Cursor предложит:
function sortDescending(arr: number[]): number[] {
return arr.sort((a, b) => b - a);
}
Почему это работает: Вы явно указали тип (number[]), действие (отсортированный) и направление (по убыванию). Без этих деталей Cursor мог бы предложить сортировку по возрастанию или без типов.
Совет: Всегда начинайте комментарий с глагола в повелительном наклонении: «Напиши», «Создай», «Рефактори». Это даёт AI чёткую команду.
2. Промт для чата: «Объясни этот код построчно»
Чат в Cursor (Chat) — это аналог ChatGPT, встроенный в IDE. Он видит весь ваш проект, но вы можете передать ему конкретный участок кода через Ctrl+K или выделение.
Пример использования:
Вы выделяете сложную функцию с рекурсией и пишете:
Объясни этот код построчно. Для каждой строки укажи, что она делает и какие побочные эффекты имеет.
Результат: AI разобьёт функцию на строки и даст пояснения, например:
- Строка 12: «Проверяет базовый случай — если длина массива равна 1, возвращает элемент»
- Строка 14: «Рекурсивно вызывает функцию с подмассивом, исключая первый элемент»
Почему это полезно: Это работает как код-ревью для новичков или при разборе чужого кода. По данным опроса JetBrains Developer Ecosystem 2025, 45% разработчиков тратят до 30% времени на чтение и понимание кода. Этот промт сокращает время разбора в 3-5 раз.
3. Промт для командного режима: «Рефактори этот класс на композицию вместо наследования»
Командный режим (Cmd+K) — это быстрая команда, которая применяется к текущему файлу или выделению.
Пример использования:
Вы выделяете класс, который наследуется от базового, и пишете:
Рефактори этот класс на композицию. Вынеси общую логику в отдельный сервис и внедри его через конструктор.
Результат: Cursor создаст новый файл сервиса, перепишет класс и добавит импорты. Вам останется только проверить и закоммитить.
Почему это работает: Команда «рефактори» — это не просто «измени код», а конкретная задача с методологией. AI понимает разницу между наследованием и композицией, если вы это явно указали.
4. Промт для чата: «Напиши тесты для этой функции с покрытием 100% ветвлений»
Cursor может генерировать юнит-тесты. Но если просто сказать «напиши тесты», он сделает их поверхностно.
Пример использования:
Вы выделяете функцию с условиями:
function calculateDiscount(price: number, isPremium: boolean): number {
if (isPremium) return price * 0.8;
if (price > 100) return price * 0.9;
return price;
}
Промт:
Напиши тесты на Jest для этой функции. Убедись, что покрыты все ветвления: премиум-пользователь, обычный пользователь с ценой >100 и обычный пользователь с ценой <=100. Используй describe и it.
Результат: AI сгенерирует 3 тест-кейса, каждый с проверкой граничных значений.
Источник: Официальный блог Cursor (cursor.com/blog) рекомендует указывать фреймворк и количество кейсов для лучшего результата.
5. Промт для автодополнения: «Создай React-компонент с пропсами и сторибуком»
Cursor отлично работает с React, Next.js и другими фреймворками.
Пример использования:
Вы начинаете новый файл:
// Создай React-компонент Button с пропсами: label, onClick, variant (primary/secondary). Добавь Storybook stories.
Cursor предложит:
- Файл Button.tsx с типизацией пропсов
- Файл Button.stories.tsx с двумя сторисами (primary и secondary)
Почему это ускоряет работу: Вместо того чтобы вручную создавать 2-3 файла, вы получаете заготовку за 10 секунд. Это особенно полезно при прототипировании.
6. Промт для чата: «Найди баг: при вводе отрицательных чисел функция падает»
Cursor может анализировать ошибки, если вы опишете симптомы.
Пример использования:
У меня есть функция calculateTax. При передаче отрицательного числа она возвращает NaN. Найди причину и предложи фикс.
Результат: AI просканирует функцию, найдёт, что нет проверки на отрицательные значения, и предложит добавить guard clause или использовать Math.max.
Совет: Всегда указывайте ожидаемое и фактическое поведение. «Падает» — слишком размыто. «Возвращает NaN» — конкретика, которая помогает AI.
7. Промт для командного режима: «Добавь логирование всех ошибок в этом файле»
Когда нужно быстро добавить обработку ошибок в legacy-код.
Пример использования:
Вы открываете файл с кучей try-catch без логирования:
Добавь логирование в каждый catch-блок. Используй console.error и включи в лог сообщение ошибки и стектрейс.
Результат: Cursor пробежится по файлу и добавит console.error("Error in functionX:", error) в каждый catch.
Почему это безопасно: AI не удаляет существующий код, а только добавляет строки. Вы всегда можете откатить через Ctrl+Z.
8. Промт для чата: «Сгенерируй документацию для этого модуля в формате Markdown»
Документация — то, что разработчики часто откладывают. Cursor может написать её за вас.
Пример использования:
Вы выделяете папку с модулем:
Сгенерируй README.md для этого модуля. Опиши: назначение, API, примеры использования. Используй Markdown с секциями и code blocks.
Результат: Файл README.md с заголовками, описанием функций и примерами кода.
Важно: Проверяйте документацию — AI может неправильно понять назначение некоторых функций. Но как черновик — идеально.
9. Промт для автодополнения: «Напиши SQL-запрос с JOIN и агрегацией»
Cursor поддерживает не только JS/TS, но и SQL, Python, Go и другие языки.
Пример использования:
-- Напиши запрос, который показывает топ-10 пользователей по сумме заказов за последний месяц. Используй JOIN с таблицами users и orders.
Cursor предложит:
SELECT u.name, SUM(o.amount) as total_spent
FROM users u
JOIN orders o ON u.id = o.user_id
WHERE o.created_at >= NOW() - INTERVAL '1 month'
GROUP BY u.name
ORDER BY total_spent DESC
LIMIT 10;
Почему это экономит время: Вместо того чтобы лезть в документацию БД, вы получаете готовый запрос за секунду.
10. Промт для чата: «Перепиши этот код с использованием async/await вместо колбэков»
Миграция legacy-кода на современные стандарты — рутинная задача.
Пример использования:
Вы выделяете функцию с колбэками:
function loadData(callback) {
fetch('/api/data', function(response) {
callback(response.json());
});
}
Промт:
Перепиши эту функцию на async/await. Добавь обработку ошибок через try-catch. Сохрани ту же логику.
Результат:
async function loadData() {
try {
const response = await fetch('/api/data');
return await response.json();
} catch (error) {
console.error('Failed to load data:', error);
throw error;
}
}
Почему это надёжно: AI сохраняет структуру, но заменяет синтаксис. Вы не теряете бизнес-логику.
Заключение
Cursor — это мощный инструмент, но его эффективность напрямую зависит от ваших промтов. Плохой запрос даст посредственный результат. Хороший — сэкономит часы работы.
Советую начать с малого: выберите 2-3 промта из этой подборки и внедрите их в свой ежедневный флоу. Например, «Объясни код» для код-ревью и «Рефактори» для чистки легаси. Через неделю вы заметите, что тратите меньше времени на рутину и больше — на архитектуру и логику.
Помните: AI — это ассистент, а не замена. Всегда проверяйте сгенерированный код, особенно в продакшене. Но если промт составлен грамотно, процент ошибок стремится к нулю.
Экспериментируйте, адаптируйте промты под свои задачи и делитесь находками с коллегами. Разработка не стоит на месте, и Cursor — один из инструментов, который делает её быстрее и интереснее.
Комментарии