Глава 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 и основные каталоги и объясни, что делает этот проект».
Причин три. Чтение и по умолчанию идёт без подтверждений, так что проходит и без знания обрядов согласования. Проект знаете вы, поэтому можете сверить ответ. И наконец, так вы разом проверяете соединение, аутентификацию и рабочую папку, ничего не ломая. Если поведение окажется странным, разберётесь до того, как дело дойдёт до записи.
Цикл «указание → диф → согласие»
Когда чтение прошло, попросите небольшую правку. Дальше идёт один и тот же такт из четырёх шагов.
Сказать обычными словами по-русски. Если знаете, где править, скажите и это.
Найти и прочитать файлы, которые могут быть связаны. Это STEP 1 из главы 1.
«Вот здесь меняю вот так» выводится построчно, и на этом всё останавливается.
Пропустили — правка применилась. Не то — откажите и словами добавьте, что именно не так.
Вы: «Добавь в README раздел про Windows»
↓
[ПОИСК] найти README ← чтение. не останавливается
↓
[ЧТЕНИЕ] прочитать README.md ← чтение. не останавливается
↓
[ПРАВКА] добавить 3 строки ← появляется диф, и всё встаёт
↓
Вы: согласиться / отказать и сказать, что поправить
Отказ — не провал. Увидев диф, вы можете говорить конкретно, а значит, стремиться к идеальному первому указанию незачем. Именно этим такая схема и хороша.
Держите каждую просьбу в размере «дифа, который дочитаешь до конца». Чем крупнее просьба, тем длиннее диф, а длинные дифы согласовывают не читая. Согласие, которое вы нажали не глядя, — не согласие, а автосогласие. Как дробить работу, разбираем в главе 3.
С какого режима начинать
Место остановки задаёт режим разрешений. В терминале он переключается по Shift+Tab, в VS Code, настольном приложении и браузере — селектором рядом с полем ввода.
Чтение автоматическое. Правки и команды подтверждаются каждый раз. В первый день — этот.
Правки внутри рабочей папки проходят автоматически. Для тех, кто читает дифы потом и разом.
Изучает, но исходники не правит. Согласуете план — переходит к делу.
Отдельная оценивающая модель останавливает только опасные операции, остальное идёт без подтверждений. Есть условия.
Отключены и подтверждения, и проверки безопасности. Только изолированное окружение. В первый день это не трогают.
По Shift+Tab перебираются первые три. Автоматический режим встраивается в перебор, когда выполнены условия, и в первый раз показывает подтверждение согласия. Обход разрешений действует, только если запустить с отдельным флагом. Чтобы закрепить режим с самого запуска, пишут claude --permission-mode plan. Кроме этого есть dontAsk, которого в селекторе не бывает: он выполняет только разрешённое и существует лишь в настройках и CLI.
Ответ на первый день — «оставить по умолчанию». Каждое подтверждение — это тренировка отличать чтение от записи и от выполнения. Ослаблять стоит после того, как научились различать; в обратном порядке вы ослабляете нечто, о чём сами не знаете. Второй режим, к которому имеет смысл потянуться, — режим планирования.
Есть места, которые защищены в любом режиме. Запись в чувствительные пути вроде .git, .claude и файлов настроек оболочки никогда не согласуется автоматически ни в одном режиме, кроме обхода разрешений. Ослабив одно, вы не ослабляете всё.
Подробно режимы разобраны в статье о режимах разрешений, а как писать правила разрешения и запрета по каждому инструменту — в статье о правилах разрешений и настройках. И учтите: обход — не ответ на «подтверждения надоели». Он не защищает ни от вашей же оплошности, ни от указания, подложенного в то, что было прочитано. Чтобы запросов стало меньше, начните с правил, разрешающих только те операции, которым вы доверяете. Проектирование — в главе 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 - Первый ход — задача только на чтение. Разом проверяются соединение, аутентификация и рабочая папка, и ничего не ломается
- Крутится цикл указание → диф → согласие. Просьбы дробите до размера дифа, который дочитаете. Согласие без чтения равно автосогласию
- Режим первого дня — по умолчанию (спрашивать разрешение), второй — режим планирования. Защищённые пути вроде
.gitзакрыты всегда, кроме обхода CLAUDE.mdкладут в корень и начинают с нескольких строк. Пишите порядок проверки, запретные места и здешние порядки, а общие слова не пишите- Затыки первого дня — PATH, ключ в переменной окружения, расход. Первый ход —
claude doctor,/status,/context
Первое указание прошло — значит, пора ставить работу на ежедневные рельсы. Переходите к главе 3 «Ежедневный рабочий поток».