Как настроить Claude Code под свой стек: гайд от бывшего Cursor power user

CEO Builder.io бросил Cursor и год живёт в Claude Code. Три точки расширения — CLAUDE.md, hooks и слэш-команды — позволяют адаптировать агента под любой стек. Перевод с примерами из реального проекта.

Обложка: Как настроить Claude Code под свой стек: гайд от бывшего Cursor power user

Claude Code справляется там, где Cursor зависает: 18-тысячестрочные React-компоненты, параллельные агентские сессии в одном репозитории, длинная очередь промптов, через которую агент проходит без присмотра. Об этом подробно написал Стив Сьюэлл — CEO Builder.io и автор популярного гайда по Cursor — в статье «How I use Claude Code». Перевод и адаптация — с примерами из проекта tproger-posts-and-seo, на котором редакция готовит контент через Claude Code: CLAUDE.md, MCP-сервер, слэш-команды и агенты-ревьюеры.

Оригинал статьи вышел в июле 2025 года, поэтому отдельные детали (вроде дефолтного переключения с Opus на Sonnet после 50% квоты) могли поменяться. Принципы — расширение через CLAUDE.md, hooks, custom-команды и агенты — за прошедшие месяцы только укрепились.

Ключевые выводы
Claude Code не «ещё один копилот», а полноценный рабочий инструмент
Главное за 60 секунд

Запуск через VS Code-расширение — но интерфейс терминала остаётся первичным; параллельные сессии в разных частях кодовой базы — стандарт.

--dangerously-skip-permissions — флаг, который отключает раздражающие подтверждения; в проде используется массово, риск переоценён.

CLAUDE.md + hooks + кастомные слэш-команды — три точки расширения, которые делают Claude Code адаптируемым под любой стек.

Большие файлы — единственный сценарий, где Claude Code справляется с уверенностью: у Builder есть React-компонент на 18 000 строк, который не редактировал ни один другой агент.

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

$100 в месяц за Max-план — автор считает это цену часа работы инженера и не задаёт вопросов.

Почему вообще ушёл с Cursor

Он год был power user Cursor: написал гайд, разобрал каждую агентскую фичу. Перешёл на Claude Code не из-за фичи, а потому что у Anthropic модель и обвязка вокруг неё делают одни люди — и это видно по тому, как одно подстраивается под другое.

Cursor — мультимодельный агент, который вынужден поддерживать GPT, Claude, локальные модели и собственные тренировки. У него есть свои сильные места — например, tab-комплит и Cmd+K — но его экономика устроена так, что Cursor платит Anthropic за токены и должен зарабатывать сверху. Anthropic делает Claude Code «прямо у источника» и может отдавать максимум доступа к Opus за те же деньги. Он проводит аналогию: купить инструмент напрямую у производителя или у перекупщика — у производителя, конечно, лучше.

VS Code-расширение — это просто запускалка

Первое, что нужно сделать — поставить расширение Claude Code для VS Code (работает и в Cursor, и в Windsurf). Не ждите фейерверков: оно по сути только запускает Claude Code в встроенном терминале IDE. Зато это удобно — можно держать несколько параллельных сессий в разных панелях, если они работают над разными частями кодовой базы.

Для быстрых Cmd+K-комплитов и tab-комплита он оставил Cursor. Агентскую панель Cursor он трогает только когда Claude недоступен.

Терминал — оказалось, нормально

Текстовый интерфейс на чат-агента звучит как шаг назад. Но Anthropic сделали его внятно: @-теги для файлов, слэш-команды для встроенных операций, явный контроль того, какой контекст идёт в модель.

Самый неочевидный совет — чаще чистить контекст:

			/clear
		

Каждая новая задача — новый /clear. Старая история съедает токены, а главное — провоцирует автоматические compaction-вызовы, когда модель сама пытается пересказать прошлый контекст. Эти вызовы стоят токенов и не всегда нужны.

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

Permission-система выбешивает — но есть фикс

Главная боль Claude Code: он спрашивает разрешения буквально на всё. Запустили промпт, ушли в Slack, вернулись через пять минут — а агент всё это время сидит и ждёт ответа на «Можно ли отредактировать этот файл?» Да, можно. В этом и смысл. «Можно ли запустить линтер?» Можно, бога ради.

Решение — флаг, который он всегда передаёт при запуске:

			claude --dangerously-skip-permissions
		

Звучит страшнее, чем есть. По факту — это аналог старого yolo-режима в Cursor. Теоретически недобросовестный агент может выполнить разрушительную команду. На практике за недели использования он такого не видел ни разу. Сверяйте решение со своей терпимостью к риску, но сам он спит спокойно.

Интеграция с GitHub — на удивление полезная

Одна из лучших слэш-команд — установка GitHub-приложения для ревью PR:

			/install-github-app
		

После запуска Claude автоматически ревьюит ваши пулл-реквесты. Полезно — потому что чем больше вы используете ИИ-инструменты, тем больше у вас PR. И Claude находит то, что люди пропускают: люди придираются к названиям переменных, а Claude — к настоящим логическим ошибкам и проблемам безопасности.

Без настройки промпт ревью получается слишком многословным — агент комментирует всё подряд. Он добавляет в репозиторий файл claude-code-review.yml:

			# .github/claude-code-review.yml
direct_prompt: |
  Please review this pull request and look for bugs and security issues.
  Only report on bugs and potential vulnerabilities you find. Be concise.
		

Логика — отрезать «нюансные» комментарии, оставить только баги и уязвимости. Такой узкий промпт превращает PR-ревью из «эссе на полторы страницы» в три коротких пункта по делу.

Странности терминала, которые надо знать заранее

  • Shift+Enter для переноса строки по умолчанию не работает. Скажите Claude запустить /terminal-setup — он сам пропатчит конфиг терминала.
  • Перетаскивание файлов по умолчанию открывает их в новой вкладке IDE, а не в Claude. Удерживайте Shift при перетаскивании, чтобы вставить ссылку на файл в чат.
  • Вставка картинок: Cmd+V (Ctrl+V на Linux) не работает. Для картинок используйте Ctrl+V даже на macOS.
  • Остановить Claude: Ctrl+C выходит совсем, не то что нужно. Останавливать выполнение нужно клавишей Escape.
  • Прыжок к прошлым сообщениям: двойное нажатие Escape показывает список всех предыдущих сообщений сессии.
  • Vim-режим: есть, для тех, кто на этом.

Большие кодовые базы — главное преимущество

Главное отличие, которое автор вынес из перехода: в Builder есть React-компонент на 18 000 строк, и ни один ИИ-агент его раньше не редактировал успешно — кроме Claude Code. Cursor «затыкается» на больших файлах: не может корректно применить патч, переписывает файл целиком, пропускает части.

С Claude Code другое ощущение: он реже застревает, реже требует «няньки», лучше работает с комплексными задачами. Особенно хорошо — навигация по большим репозиториям: поиск паттернов, понимание связей между компонентами и общим состоянием.

Цена в $100/мес — норм

Сьюэлл платит за Max-план $100 в месяц. Логика простая: «если шокирующе умный программист, работающий 24/7 за $100 в месяц, кажется вам дорого — посмотрите, сколько вы берёте за свой час». Час работы инженера в любой точке мира на порядки дороже.

Для российских разработчиков напомним: Anthropic не работает с РФ напрямую, оплата с российских карт не проходит, а API-эндпоинты блокируются по региону. Подробнее — в FAQ ниже.

Очередь сообщений — спасает день

Фича, без которой уже не обойтись: можно набирать несколько промптов подряд, и Claude сам выберет, какие из них имеет смысл выполнить.

Раньше с Cursor приходилось вести «блокнот промптов»: пишешь там «вот это сделать после первого, потом вон то», а потом возвращаешься через час и видишь, что агент стоит без задачи. С очередью в Claude Code — печатаете «добавь больше комментариев», «и кстати ещё...», «и тоже...» — все сообщения встают в очередь.

Claude обрабатывает очередь по порядку и не запускает следующий промпт автоматически, если ему нужна ваша обратная связь. Можно поставить очередь, уйти отвечать на почту и вернуться через час — обычно к этому моменту значительная часть сделана.

Кастомизация: hooks, custom-команды, CLAUDE.md

Здесь начинается самое интересное и где Claude Code расходится с любой другой ИИ-обвязкой. Три точки расширения: hooks (скрипты, которые выполняются на жизненном цикле агента), custom slash-команды (свои /команды) и CLAUDE.md (декларация контекста проекта).

CLAUDE.md — постоянный контекст для агента

Файл CLAUDE.md в корне проекта читается Claude автоматически при каждом запуске и заменяет «давай я тебе сначала расскажу про репо». В нём обычно хранят: команды (build, lint, test), архитектурные правила, форматирование, известные ограничения, процессы (как делать commit, как создавать PR).

У нас в проекте tproger-posts-and-seo CLAUDE.md описывает: дисциплину работы с кодом, git-процесс (только feature-ветки, русский commit message), правила скрейпинга (только через ScrapeOps, не WebFetch), MCP-серверы, конвенции именования файлов и форматирование текстов на tproger.ru. Это позволяет любому, кто запускает Claude Code в этом проекте, не объяснять контекст заново.

Hooks — автоматизация на жизненном цикле

Hooks — обычные shell-команды, которые срабатывают на событиях: PreToolUse (перед вызовом инструмента), PostToolUse (после), Notification, Stop. Конфиг — в .claude/settings.json:

			{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "prettier --write \"$CLAUDE_FILE_PATHS\""
          }
        ]
      },
      {
        "matcher": "Edit",
        "hooks": [
          {
            "type": "command",
            "command": "npx tsc --noEmit --skipLibCheck \"$CLAUDE_FILE_PATHS\" || echo 'TS errors'"
          }
        ]
      }
    ]
  }
}
		

Этот пример: после каждого Edit или Write прогоняется prettier, а на TypeScript-файлах после редактирования запускается проверка типов. Если есть ошибки — агент видит их в выводе и поправит сам. Конфиг hooks обязательно оборачивается ключом события (PostToolUse, PreToolUse, Stop и т.д.) — в оригинальной статье обёртка опущена, и пример «как есть» не загрузится.

В hook через переменную CLAUDE_FILE_PATHS приходят затронутые файлы (наследие 2025 года, в актуальной версии данные о файле приходят через JSON на stdin — поле tool_input.file_path). Управлять выполнением можно exit-кодами или JSON-выводом. Настраивать удобнее через интерактивную команду:

			/hooks
		

Custom slash-команды

Своя слэш-команда — это просто файл в .claude/commands/. Например, .claude/commands/test.md:

			# .claude/commands/test.md

Создай покрывающие тесты для: $ARGUMENTS

Требования:
- Jest и React Testing Library
- Тесты в директории __tests__
- Замокать Firebase/Firestore
- Покрыть основной функционал и edge-case
- Тесты на изменение MobX-обсёрваблов
- Проверить вычисляемые поля
- Тесты пользовательских интеракций
- afterEach для очистки
		

После этого /test MyButton делает ровно то, что ожидаешь. Подкаталоги тоже работают: файл builder/plugin.md вызывается как /builder/plugin.

В нашем проекте через .claude/commands/ и плагины сделаны команды /tproger-post (написать пост на tproger.ru), /scrape-page (скрейпинг), /generate-image (генерация обложек). Каждая — это просто markdown-файл с инструкцией.

Memory: быстрое сохранение через #

Если в чате с Claude напечатать # и текст — агент автоматически сохранит это в самый релевантный из CLAUDE.md-файлов. Например:

			# всегда используй MUI для новых компонентов
		

И правило окажется в проектном CLAUDE.md или в подкаталоге, если правило локальнее.

CLAUDE.md-файлы поддерживают иерархию: один в корне проекта, ещё один — в подкаталоге, ещё один — в более глубоком. Claude читает все и приоритизирует наиболее специфичный (ближайший к редактируемому файлу). Плюс есть глобальные user-предпочтения (~/.claude/CLAUDE.md) и локальные «персональные» правила в репозитории, которые попадают в gitignore.

Sub-agents — агенты внутри агента

В статье эта тема подробно не раскрыта, но за прошедшее время sub-agents стали одним из главных способов масштабировать Claude Code (подробнее — в материале «Создатель Claude Code показал 15 скрытых возможностей»). Sub-agent — это специализированный агент, к которому основной Claude обращается через инструмент Agent (Task) и который имеет свой системный промпт, набор инструментов и часто свою модель.

В нашем проекте через .claude/plugins/editorial-review/ сделана команда из шести агентов-ревьюеров для постов на tproger.ru: корректор, техническое ревью EditorJS-блоков, техред, факт-чекер, SEO+GEO-аналитик и въедливый читатель. После того как драфт поста готов, основной агент запускает все шесть параллельно одной командой, дожидается отчётов и сводит правки.

Каждый агент описан в отдельном markdown-файле в каталоге .claude/plugins/editorial-review/agents/ со своей моделью (sonnet — экономия на токенах для рутинных проверок), своим набором разрешённых инструментов (например, фактчекеру нужен WebSearch, корректору — нет) и своей ролью.

Частые вопросы
1
Стоит ли уходить с Cursor, если устраивает текущий процесс?

Автор советует попробовать Claude Code хотя бы на одной задаче, особенно если в проекте есть большие файлы (10+ тысяч строк) или вы часто запускаете параллельные агенты. Если устраивает Cursor для tab-комплитов и Cmd+K — не отказываться, можно использовать оба.

2
Что такое флаг --dangerously-skip-permissions и не опасно ли это?

Флаг отключает спросы агента «можно ли запустить эту команду». Теоретически агент может выполнить разрушительную операцию (удалить файлы, отправить запрос куда не надо). На практике риск близок к нулю, если вы работаете в Git-репозитории и не запускаете Claude от root. Изолируйте машину/контейнер, если переживаете.

3
Где хранить кастомные команды и hooks?

Команды — в .claude/commands/, hooks — в .claude/settings.json или .claude/settings.local.json (второй автоматически попадает в gitignore — для локальных правил). Команда уровня пользователя — в ~/.claude/commands/ и ~/.claude/CLAUDE.md.

4
Как Claude Code справляется с большими файлами?

По наблюдениям из статьи — единственный из топовых ИИ-агентов, который успешно правит файл на 18 000 строк (React-компонент в Builder) без потери контекста. Конкуренты (Cursor) ломают патчи, переписывают файл целиком или пропускают части кода. У Claude Code это работает из-за более длинного эффективного контекста.

5
Доступен ли Claude Code из России?

Технически Claude Code — это CLI поверх Anthropic API, и сам бинарник работает где угодно. Но Anthropic официально не работает с РФ: ToS прямо запрещает использование из санкционных регионов, IP-адреса блокируются, оплата с российских карт не проходит. Распространённые обходы — оплата через зарубежные карты или посредников плюс VPN. Действуете на свой страх и риск, и помните, что Anthropic может заблокировать аккаунт по геопризнакам.

Выводы

Автор закончил оригинальную статью так: «Build in Claude Code. Ship as a team in Builder». Маркетинг под их собственный продукт, но идея верная — Claude Code лучше всего работает не как «копилот в IDE», а как первичный интерфейс для разработки, к которому подключаются разные точки входа: терминал, IDE-расширение, GitHub-бот, кастомные слэш-команды.

Расширение через CLAUDE.md, hooks и sub-agents — то, что отличает Claude Code от ChatGPT-подобных интерфейсов. Это инструмент, который вы настраиваете под свой стек и свои процессы один раз и потом просто пользуетесь.

Полная оригинальная статья — на блоге Builder.io. Если у вас есть свои находки по Claude Code — пишите в комментариях.