Как настроить Claude Code под свой стек: гайд от бывшего Cursor power user
CEO Builder.io бросил Cursor и год живёт в Claude Code. Три точки расширения — CLAUDE.md, hooks и слэш-команды — позволяют адаптировать агента под любой стек. Перевод с примерами из реального проекта.
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. Старая история съедает токены, а главное — провоцирует автоматические compaction-вызовы, когда модель сама пытается пересказать прошлый контекст. Эти вызовы стоят токенов и не всегда нужны.
Стрелка вверх позволяет ходить по предыдущим запросам, в том числе из прошлых сессий. Полезно, когда нужно вытащить промпт, который вчера сработал хорошо.
Permission-система выбешивает — но есть фикс
Главная боль Claude Code: он спрашивает разрешения буквально на всё. Запустили промпт, ушли в Slack, вернулись через пять минут — а агент всё это время сидит и ждёт ответа на «Можно ли отредактировать этот файл?» Да, можно. В этом и смысл. «Можно ли запустить линтер?» Можно, бога ради.
Решение — флаг, который он всегда передаёт при запуске:
Звучит страшнее, чем есть. По факту — это аналог старого yolo-режима в Cursor. Теоретически недобросовестный агент может выполнить разрушительную команду. На практике за недели использования он такого не видел ни разу. Сверяйте решение со своей терпимостью к риску, но сам он спит спокойно.
Интеграция с GitHub — на удивление полезная
Одна из лучших слэш-команд — установка GitHub-приложения для ревью PR:
После запуска Claude автоматически ревьюит ваши пулл-реквесты. Полезно — потому что чем больше вы используете ИИ-инструменты, тем больше у вас PR. И Claude находит то, что люди пропускают: люди придираются к названиям переменных, а Claude — к настоящим логическим ошибкам и проблемам безопасности.
Без настройки промпт ревью получается слишком многословным — агент комментирует всё подряд. Он добавляет в репозиторий файл claude-code-review.yml:
Логика — отрезать «нюансные» комментарии, оставить только баги и уязвимости. Такой узкий промпт превращает 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:
Этот пример: после каждого Edit или Write прогоняется prettier, а на TypeScript-файлах после редактирования запускается проверка типов. Если есть ошибки — агент видит их в выводе и поправит сам. Конфиг hooks обязательно оборачивается ключом события (PostToolUse, PreToolUse, Stop и т.д.) — в оригинальной статье обёртка опущена, и пример «как есть» не загрузится.
В hook через переменную CLAUDE_FILE_PATHS приходят затронутые файлы (наследие 2025 года, в актуальной версии данные о файле приходят через JSON на stdin — поле tool_input.file_path). Управлять выполнением можно exit-кодами или JSON-выводом. Настраивать удобнее через интерактивную команду:
Custom slash-команды
Своя слэш-команда — это просто файл в .claude/commands/. Например, .claude/commands/test.md:
После этого /test MyButton делает ровно то, что ожидаешь. Подкаталоги тоже работают: файл builder/plugin.md вызывается как /builder/plugin.
В нашем проекте через .claude/commands/ и плагины сделаны команды /tproger-post (написать пост на tproger.ru), /scrape-page (скрейпинг), /generate-image (генерация обложек). Каждая — это просто markdown-файл с инструкцией.
Memory: быстрое сохранение через #
Если в чате с Claude напечатать # и текст — агент автоматически сохранит это в самый релевантный из CLAUDE.md-файлов. Например:
И правило окажется в проектном 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, корректору — нет) и своей ролью.
Частые вопросы
Стоит ли уходить с Cursor, если устраивает текущий процесс?
Автор советует попробовать Claude Code хотя бы на одной задаче, особенно если в проекте есть большие файлы (10+ тысяч строк) или вы часто запускаете параллельные агенты. Если устраивает Cursor для tab-комплитов и Cmd+K — не отказываться, можно использовать оба.
Что такое флаг --dangerously-skip-permissions и не опасно ли это?
Флаг отключает спросы агента «можно ли запустить эту команду». Теоретически агент может выполнить разрушительную операцию (удалить файлы, отправить запрос куда не надо). На практике риск близок к нулю, если вы работаете в Git-репозитории и не запускаете Claude от root. Изолируйте машину/контейнер, если переживаете.
Где хранить кастомные команды и hooks?
Команды — в .claude/commands/, hooks — в .claude/settings.json или .claude/settings.local.json (второй автоматически попадает в gitignore — для локальных правил). Команда уровня пользователя — в ~/.claude/commands/ и ~/.claude/CLAUDE.md.
Как Claude Code справляется с большими файлами?
По наблюдениям из статьи — единственный из топовых ИИ-агентов, который успешно правит файл на 18 000 строк (React-компонент в Builder) без потери контекста. Конкуренты (Cursor) ломают патчи, переписывают файл целиком или пропускают части кода. У Claude Code это работает из-за более длинного эффективного контекста.
Доступен ли 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 — пишите в комментариях.