Глава 1 была про ментальную модель. Эта глава — про руки. Цель одна: довести до конца первое указание на вашем собственном репозитории.
Команд наберётся несколько строк. Остальное время уходит на то, чтобы понять, что именно вы согласовываете. Пропустите это — и придётся возвращаться сюда позже.
Входов пять: с какого начать
Claude Code обычно представляют как «инструмент для терминала», но входов пять. Внутри одно и то же, различается только обёртка.
Сам инструмент. Набираете claude — и всё. Этот курс исходит из него.
Живёт внутри редактора. Дифы вы читаете в привычном виде.
Ставится в семейство IntelliJ. Если вы разрабатываете там, никуда переходить не нужно.
Работает без открытого терминала. Режим выбирается селектором рядом с кнопкой отправки.
Доступен, даже если под рукой нет среды разработки. Режимы переключаются тем же селектором.
В первый час берите терминал. Не потому, что там удобнее, а потому, что там больше информации. Когда что-то заклинивает, вы видите сообщение как есть, да и решения люди описывают исходя из терминала. О том, как Claude Code соотносится со встроенными в редактор инструментами вроде Cursor или GitHub Copilot, — глава 1 курса по ИИ-программированию.
Устанавливаем
Стандартный путь — npm. Если Node.js уже стоит, хватит одной строки (если node -v печатает версию, всё готово). -g означает «поставить так, чтобы вызывалось из любой папки».
npm install -g @anthropic-ai/claude-code
claude
Там, где npm блокируется прокси или региональными ограничениями, можно поставить через пакетный менеджер.
brew install --cask claude-code # macOS / Homebrew
winget install Anthropic.ClaudeCode # Windows / WinGet
Выберите один способ установки. Если после npm поставить ещё и через Homebrew, появится Multiple claude installations found. Состояние, в котором непонятно, какая копия запускается, делает трудной всю дальнейшую диагностику. Требования зависят от окружения, так что при сомнениях — в официальную документацию.
Вход: аккаунт или API-ключ
При первом запуске вы выбираете способ входа. Если войти аккаунтом Claude, откроется браузер, и после входа и подтверждения доступ будет выдан. Тратится квота тарифа, а расход проявляется как лимит и время его сброса. API-ключ работает не от квоты, а от баланса, и, когда тот кончается, всё останавливается. Для личной работы — первое, для CI и автоматизации — второе.
Что именно вам доступно, зависит от договора, поэтому утверждать не берёмся. Запомнить нужно ровно одно.
API-ключ из переменной окружения имеет приоритет над входом по подписке. Если вы когда-то экспериментировали и оставили ANTHROPIC_API_KEY в настройках оболочки, то даже правильный вход будет проигнорирован. Большинство случаев «у меня оплачено, а мне пишут про нехватку средств» — именно об этом.
На вопрос, под какими учётными данными вы работаете сейчас, отвечает /status. Сначала посмотреть, потом подозревать.
/status # под какими учётными данными идёт работа
env | grep ANTHROPIC # не остался ли ключ в переменных окружения
unset ANTHROPIC_API_KEY # если остался, снять. и убрать из файла настроек
/login # войти заново и перепроверить через /status
Что происходит при первом запуске
После входа запускайте инструмент, перейдя в нужную папку. Claude Code считает рабочей «ту папку, где вы сейчас», так что при ошибке он начнёт читать что-то постороннее.
cd my-project
claude
Экран с ожиданием ввода — вход в диалог. Здесь советуем не просить сразу что-то переписать. Первый ход — задача, которая заканчивается на чтении: «прочитай README и основные каталоги и объясни, что делает этот проект».
Причин три. Чтение идёт без подтверждений даже в Manual, самом строгом режиме, так что проходит и без знания обрядов согласования. Проект знаете вы, поэтому можете сверить ответ. И наконец, так вы разом проверяете соединение, аутентификацию и рабочую папку, ничего не ломая. Если поведение окажется странным, разберётесь до того, как дело дойдёт до записи.
Правда, режим, в котором вы стартуете, зависит от версии и настроек. В Claude Code v2.1.283 и новее сессии, запущенные в терминале или VS Code, по умолчанию стартуют в Auto на любом тарифе и у любого провайдера (в первый раз вверху экрана появляется уведомление), и правка из следующего раздела тоже пройдёт без подтверждения. В более ранних версиях в Auto стартуют только тарифы Pro, Max и Team, а тарифы Enterprise и API-ключи — в Manual. В Manual сессия стартует и тогда, когда администратор вашей организации отключил режим auto или модель его не поддерживает. Чтобы проверять каждый шаг, как в этой главе, после запуска один раз нажмите Shift+Tab и перейдите в Manual (подробнее — в одном из следующих разделов).
Цикл «указание → диф → согласие»
Когда чтение прошло, попросите небольшую правку. Дальше идёт один и тот же такт из четырёх шагов.
Сказать обычными словами по-русски. Если знаете, где править, скажите и это.
Найти и прочитать файлы, которые могут быть связаны. Это STEP 1 из главы 1.
«Вот здесь меняю вот так» выводится построчно, и на этом всё останавливается.
Пропустили — правка применилась. Не то — откажите и словами добавьте, что именно не так.
Вы: «Добавь в README раздел про Windows»
↓
[ПОИСК] найти README ← чтение. не останавливается
↓
[ЧТЕНИЕ] прочитать README.md ← чтение. не останавливается
↓
[ПРАВКА] добавить 3 строки ← появляется диф, и всё встаёт
↓
Вы: согласиться / отказать и сказать, что поправить
Отказ — не провал. Увидев диф, вы можете говорить конкретно, а значит, стремиться к идеальному первому указанию незачем. Именно этим такая схема и хороша.
Держите каждую просьбу в размере «дифа, который дочитаешь до конца». Чем крупнее просьба, тем длиннее диф, а длинные дифы согласовывают не читая. Согласие, которое вы нажали не глядя, — не согласие, а автосогласие. Как дробить работу, разбираем в главе 3.
С какого режима начинать
Место остановки задаёт режим разрешений. В терминале он переключается по Shift+Tab, в VS Code — индикатором режима под полем ввода, в настольном приложении — селектором рядом с кнопкой отправки, в браузере — выпадающим списком рядом с полем ввода.
Чтение автоматическое. Правки и команды подтверждаются каждый раз. В первый день — этот.
Правки внутри рабочей папки проходят автоматически. Для тех, кто читает дифы потом и разом.
Изучает, но исходники не правит. Согласуете план — переходит к делу.
Отдельная оценивающая модель останавливает только опасные операции, остальное идёт без подтверждений. Стартовый режим начиная с v2.1.283. Есть условия.
Подтверждения и проверки безопасности почти полностью отключены. Только изолированное окружение. В первый день это не трогают.
По Shift+Tab в основном перебираются первые три. Auto встраивается в перебор, когда вы отвечаете его требованиям, и переход в него не требует никакого подтверждения (если вы в Auto, первое нажатие переводит в Manual). Bypass permissions появляется, только если запустить с отдельным флагом или если пользовательские либо управляемые настройки делают его режимом по умолчанию. Чтобы закрепить режим с самого запуска, пишут claude --permission-mode plan. Кроме этого есть dontAsk, которого в переборе не бывает: он выполняет только разрешённое и существует лишь в настройках и CLI.
Ответ на первый день — Manual. Свежие версии (v2.1.283 и новее) на любом тарифе стартуют в Auto, поэтому переключитесь в Manual по Shift+Tab или запускайте с claude --permission-mode default. Каждое подтверждение — это тренировка отличать чтение от записи и от выполнения. Ослаблять стоит после того, как научились различать; в обратном порядке вы ослабляете нечто, о чём сами не знаете. Второй режим, к которому имеет смысл потянуться, — Plan.
Есть места, которые остаются защищёнными, даже когда вы ослабляете контроль. Запись в чувствительные пути вроде .git, .claude и файлов настроек оболочки никогда не согласуется автоматически, кроме как в Bypass permissions. В Manual и Accept edits появляется запрос, в Auto её проверяет оценивающая модель (единственное исключение — Plan в терминальной сессии, запущенной с доступным Bypass permissions). Ослабив одно, вы не ослабляете всё.
Подробно режимы разобраны в статье о режимах разрешений, а как писать правила разрешения и запрета по каждому инструменту — в статье о правилах разрешений и настройках. И учтите: обход — не ответ на «подтверждения надоели». Он не защищает ни от вашей же оплошности, ни от указания, подложенного в то, что было прочитано. Чтобы запросов стало меньше, начните с правил, разрешающих только те операции, которым вы доверяете. Проектирование — в главе 5.
CLAUDE.md: перестать повторяться
На второй день замечаешь, что раз за разом даёшь одни и те же предупреждения. «Эту папку не трогать». «Перед коммитом прогнать lint». Набирать это каждый раз — трата и вашего времени, и контекста. Поэтому положите в корень проекта файл CLAUDE.md. Claude Code читает его автоматически при запуске и работает исходя из написанного там.
# Этот проект
- TypeScript / Next.js. Пакетный менеджер npm
- Ответы и комментарии в коде на русском
## Не трогать
- всё, что под src/legacy/ (владеет другая команда)
- .env и производные от него
## Проверка
- после изменений прогнать npm run lint и npm test
- не говорить «готово», пока остаются ошибки типов
Что писать, решает вопрос «чего ИИ никак не может знать».
Какой командой убеждаться в результате. Это делает возможным STEP 3 из главы 1, поэтому отдача здесь максимальная.
Сгенерированное, территория других команд, файлы с секретами. И договорённости, которых по коду не видно, вроде «новые страницы кладём сюда».
Всё в духе «пиши читаемый код». Проверить исполнение нельзя, а строки, которые действительно надо соблюдать, размываются.
Способ выращивать файл тоже понятен. Начните с нескольких строк. Дали одно и то же указание дважды — добавьте строку. Попытка описать всё исчерпывающе даёт длинный и расплывчатый файл, который перестают соблюдать. Причина «не соблюдается» почти всегда одна из трёх: слишком много, слишком абстрактно, противоречиво.
Правила разрешений и выбор модели можно держать раздельно в .claude/settings.json (проект) и ~/.claude/settings.json (личные), но в первый день достаточно нескольких строк в CLAUDE.md. Разграничение — в главе 6.
Три вещи, которые чаще всего ломаются в первый день
Способы застрять распределены неравномерно: в первый день это почти всегда одно из трёх.
Установлено, но лежит не там, откуда вызывается. Добавьте ~/.local/bin (в Windows — %USERPROFILE%\.local\bin) в PATH. Иногда виновата и двойная установка.
Классика: старый ANTHROPIC_API_KEY перекрывает подписку. Проверьте через /status и войдите заново, сняв переменную окружения.
Claude Code расходует в 10-100 раз больше токенов, чем чат. Накапливаются круги диалога и чтение файлов.
С третьим связано недопонимание. Сообщение в духе «сервер временно ограничивает запросы» относится не к квоте тарифа, а к временному ограничению на стороне сервера, и через некоторое время всё проходит. Упёрлись вы в квоту или нет, покажет /usage.
claude doctor # общая диагностика установки, настроек, MCP и контекста
/status # под какой аутентификацией идёт работа
/context # из чего складывается расход контекста
claude update # если непонятно, обновиться (это чинит многое)
Последняя строка, claude update, помогает неожиданно часто. Немало сбоев исчезают от одного лишь повышения версии, так что, выполнив её до начала разбирательств, вы не станете гоняться за несуществующей проблемой. Разбор по симптомам — в статье о частых ошибках и способах их устранения. Порядок локализации причины разбираем в главе 4.
Итоги
- Входов пять. Внутри одно и то же, но в первый час выигрывает терминал, потому что он говорит больше
- Стандарт —
npm install -g @anthropic-ai/claude-code. Не проходит — Homebrew или WinGet. Способ установки должен быть один - Вход — либо аккаунт (квота), либо API-ключ (баланс). Ключ из переменной окружения перекрывает подписку: при сомнениях —
/status - Первый ход — задача только на чтение. Разом проверяются соединение, аутентификация и рабочая папка, и ничего не ломается
- Крутится цикл указание → диф → согласие. Просьбы дробите до размера дифа, который дочитаете. Согласие без чтения равно автосогласию
- Режим первого дня — Manual (начиная с v2.1.283 любой тариф стартует в Auto, так что переключитесь), второй — Plan. Запись в защищённые пути вроде
.gitне согласуется автоматически нигде, кроме обхода CLAUDE.mdкладут в корень и начинают с нескольких строк. Пишите порядок проверки, запретные места и здешние порядки, а общие слова не пишите- Затыки первого дня — PATH, ключ в переменной окружения, расход. Первый ход —
claude doctor,/status,/context
Первое указание прошло — значит, пора ставить работу на ежедневные рельсы. Переходите к главе 3 «Ежедневный рабочий поток».