Если ты фронт или фуллстек на JS/TS — Cursor в 2026 это уже база. Но из коробки он работает «как VS Code с чатом», а вся магия включается только когда правильно настроишь TypeScript LSP, ESLint, Prettier и .cursorrules под свой стек. Ниже — как выжать максимум ☆
JavaScript/TypeScript — самый частый стек, под который пользователи берут Cursor. Tab-completion на JSX, Composer, который сам правит три файла сразу при добавлении эндпоинта, чат с контекстом всего monorepo. Но половина людей сидит на дефолтных настройках и не понимает, почему «у блогеров вау, а у меня обычный автокомплит».
Сейчас разрулим — пройдёмся по реальной настройке Cursor под JS/TS-проект в 2026 году.
💡 Если ты новичок в теме — сначала глянь главный гайд Как оплатить ChatGPT Plus из России в 2026 — рабочие способы, там разобраны все базовые способы и подводные камни.
TL;DR — что включить сразу ⚡
- TypeScript LSP через
typescript.tsdkв.vscode/settings.json— Cursor должен использовать версию TS из node_modules проекта, не свою. - ESLint + Prettier включаются как extensions из VS Code Marketplace, работают без танцев.
.cursorrulesв корне проекта — главный файл для тонкой настройки Composer под твой стек (React/Vue/Next).- Composer Agent Mode — для рефакторингов и фич, спанящих несколько файлов.
- Если оплата Cursor Pro застряла на «card declined» — оформи через Blups, мы не маркетплейс, делаем выдачу сами.
Сразу важное: мы не маркетплейс. В отличие от площадок, где десятки мелких продавцов под одной витриной — мы сами оформляем Cursor Pro на твой аккаунт и отвечаем за заказ лично ♡
Почему дефолтный Cursor для JS-проекта работает «нормально», но не отлично
Cursor — форк VS Code, и в стандартной поставке у него такой же TypeScript-сервер, как в свежем VS Code: 5.x, из встроенного node_modules редактора.
Проблема: у тебя в проекте может быть другая версия TS (например, 5.3 vs 5.6 в Cursor), и тогда:
- Cursor видит ошибки, которых нет в проде.
- Cursor НЕ видит ошибок, которые есть в проде (CI падает, локально зелено).
- Composer пишет код под фичи новой версии TS, которых нет в твоём
tsconfig.
Решение в две строки в .vscode/settings.json:
{
"typescript.tsdk": "node_modules/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true
}
После этого Cursor спросит «использовать workspace-версию TS?» — соглашаешься, и дальше он работает с той же версией, что и твой CI.
ESLint и Prettier в Cursor
Тут хорошие новости: Cursor наследует marketplace VS Code, поэтому ESLint (от Microsoft) и Prettier ставятся как обычные extensions через Cmd+Shift+X → поиск → Install.
Базовый .vscode/settings.json для JS/TS-проекта:
{
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"eslint.validate": ["javascript", "typescript", "javascriptreact", "typescriptreact"]
}
Что это даёт:
- На сохранении файла Prettier форматирует код.
- ESLint автофиксит то, что можно автофиксить (unused imports, неправильные кавычки, missing semicolons).
- Cursor видит ESLint-ошибки в реальном времени и учитывает их в Composer — это важно. Если в твоём проекте ESLint запрещает
console.log, Composer не будет их вставлять.
.cursorrules — главный файл настройки под стек
Это самый недооценённый файл во всём Cursor. Если ты его не использовал — ты не использовал Cursor.
.cursorrules лежит в корне проекта (рядом с package.json), Cursor читает его автоматически при каждом запросе к AI. Туда пишешь инструкции, которые Composer/Chat должен всегда учитывать.
Пример .cursorrules для Next.js + TypeScript проекта
You are an expert in TypeScript, React 19, Next.js 15 (App Router), Tailwind CSS, and shadcn/ui.
Code style:
- Use TypeScript strict mode. No `any`. If type is unclear — use `unknown` and narrow.
- Functional components only. No class components.
- Server Components by default. Add 'use client' only when needed (state, effects, event handlers).
- Tailwind for styling. No CSS modules, no styled-components.
- Use shadcn/ui components from `@/components/ui` before writing custom ones.
File structure:
- Routes in `app/`, components in `components/`, utils in `lib/`.
- Co-locate types in the same file as the component, unless shared.
Conventions:
- Prefer Server Actions over API routes for mutations.
- Use Zod for input validation.
- Use `next/image` for images, never raw `<img>`.
Avoid:
- useEffect for data fetching (use Server Components or react-query).
- Inline styles.
- console.log in committed code.
После добавления такого файла Composer в этом проекте перестанет писать class Component extends React.Component, не будет добавлять useEffect(() => fetch(...)) для загрузки данных и не будет вставлять console.log. Это буквально меняет качество AI-генерации в 2-3 раза.
Пример .cursorrules для Vue 3 + Nuxt
You are an expert in Vue 3 (Composition API), Nuxt 3, TypeScript, and Pinia.
Code style:
- <script setup lang="ts"> only. No Options API.
- Use Pinia for state, not Vuex.
- TypeScript strict. Type all props with `defineProps<{}>()`.
- Use auto-imports from Nuxt — don't write `import { ref } from 'vue'`.
Conventions:
- Server routes in `server/api/`, with H3 event handlers.
- Use `useFetch`/`useAsyncData` for data, not raw `fetch`.
- Composables in `composables/`, named `use*.ts`.
Пример .cursorrules для React + Vite (SPA)
You are an expert in React 18, TypeScript, Vite, and TanStack Query.
Code style:
- Functional components with hooks.
- TypeScript strict. Type all props.
- TanStack Query for server state, Zustand for client state.
- Tailwind for styling.
Avoid:
- Redux (we migrated away).
- Class components.
- Default exports for components — use named exports.
Composer для multi-file задач в JS/TS
Composer (Cmd+I) — главная киллер-фича Cursor по сравнению с Copilot. Он умеет править несколько файлов одним запросом.
Типичные задачи, под которые Composer идеален в JS-стеке:
1. Добавить новую страницу/роут. «Сделай страницу /dashboard/settings с формой профиля: имя, email, аватар. Используй react-hook-form + zod, отправка через Server Action.» Composer создаст файл роута, форму, action, схему zod — всё за один проход.
2. Рефакторинг компонента. «Раздели UserCard.tsx на presentational <UserCardView> и контейнер <UserCardContainer> с логикой fetch.» Composer вытащит логику, создаст два файла, обновит импорты везде, где UserCard использовался.
3. Миграция API. «Перенеси все вызовы /api/users/* со старого fetch на TanStack Query с типами из types/api.ts.» Composer найдёт все вызовы, переделает на useQuery/useMutation, добавит invalidation.
Лайфхак: прежде чем запускать Composer, открой 2-3 файла-референса, которые ты хочешь, чтобы он использовал как шаблон. Cursor включит их в контекст автоматически, и AI будет копировать твой стиль, а не общий «как делают в интернете».
TypeScript-специфичные настройки
Несколько вещей, которые сильно бустят работу именно на TS:
Inlay hints включить. В .vscode/settings.json:
{
"typescript.inlayHints.parameterNames.enabled": "all",
"typescript.inlayHints.variableTypes.enabled": true,
"typescript.inlayHints.functionLikeReturnTypes.enabled": true
}
Cursor показывает выведенные типы прямо в коде — Composer лучше понимает контекст, плюс ты сам видишь, что AI не натворил any тихо.
Strict mode в tsconfig. Если у тебя "strict": true — Cursor Composer пишет более аккуратный код, потому что иначе компилятор сразу же даёт по рукам. Если strict: false — AI начинает халтурить.
noUncheckedIndexedAccess: true — заставляет AI правильно работать с массивами и Record (всегда проверять undefined). Жёстко, но качество кода резко вырастает.
Частые ошибки настройки Cursor под JS/TS
1. Игнорируют .cursorrules
Самая частая. Люди ставят Cursor, юзают дефолтный чат и удивляются, что AI пишет «как Copilot». А все, кто реально выжимает максимум — держат .cursorrules под каждый проект и обновляют его, когда меняются конвенции команды.
2. Используют глобальный TypeScript вместо workspace
Cursor показывает ошибки, которых нет в CI, или наоборот. Решение — typescript.tsdk в settings (см. выше).
3. Запускают Composer на огромный проект без указания контекста
Composer не читает весь monorepo за раз — у моделей есть лимит контекста. Если ты в monorepo на 200 пакетов кидаешь «отрефактори всё под React 19», AI просто галлюцинирует. Указывай конкретные файлы через @filename в Composer или открывай нужные файлы в редакторе.
4. Игнорируют ESLint warnings
Composer видит ESLint-предупреждения через Language Server. Если у тебя весь код в красных подчёркиваниях — AI учится на этом и пишет такой же грязный код. Сначала почисти линт, потом начинай гонять Composer.
Сравнение Cursor vs GitHub Copilot для JS/TS-разраба в 2026
| Параметр | Cursor Pro | GitHub Copilot |
|---|---|---|
| Цена | $20/мес | $19/мес |
| Multi-file edits | ✅ Composer | ⚠️ Workspace agent (слабее) |
| Качество автодополнения JSX | Отличное | Хорошее |
| Кастомные правила | .cursorrules |
.github/copilot-instructions.md |
| Лучшие модели | Claude Sonnet 4.5, GPT-5 | GPT-5, Claude Sonnet 4.5 |
| Скорость | Чуть быстрее на Tab | На уровне |
| IDE | Отдельный (форк VS Code) | Плагин для VS Code/JetBrains |
Для JS/TS-разраба в 2026 Cursor выигрывает в основном за счёт Composer и .cursorrules. Если ты пишешь чисто компонент за компонентом — Copilot тоже норм. Если ты регулярно делаешь рефакторинги или фичи, спанящие 3-5 файлов — Cursor реально экономит часы.
FAQ
Можно ли использовать Cursor для монорепо (Turborepo, Nx)?
Да, прекрасно работает. Просто открой корень монорепы как workspace. `.cursorrules` лучше делать **общий** в корне и опционально дополнительные в подпакетах (Cursor читает оба). TypeScript paths из `tsconfig.json` Cursor подхватывает корректно.
Composer перезаписывает мои файлы — как откатить?
В Composer внизу справа есть кнопка «Reject all» — откатит изменения. Плюс всегда коммить в git перед запуском Composer на больших задачах — это базовая гигиена, AI может сделать что-то странное.
Какие модели выбирать для TypeScript-кода в 2026?
Для большинства задач Claude Sonnet 4.5 — лучший выбор на TS. Он аккуратно работает с типами, не галлюцинирует API. GPT-5 чуть лучше для сложного рефакторинга и больших Composer-сессий. Для быстрого Tab-completion подходит любая дефолтная модель Cursor.
Cursor умеет работать с Tailwind CSS и shadcn/ui?
Да, и очень хорошо. Если в `.cursorrules` указать «use Tailwind, prefer shadcn/ui» — Composer будет писать классы Tailwind, использовать уже установленные shadcn-компоненты вместо создания новых. Плюс есть отдельные Tailwind IntelliSense расширения, которые работают как в VS Code.
Как Cursor работает с Vue/Nuxt — нормально или плохо?
Нормально, но чуть хуже чем с React. У React больше тренировочных данных у моделей. Под Vue особенно важно прописывать в `.cursorrules` «Composition API only, `