Claude Code — это агент в терминале, а не автодополнение в редакторе. Вы описываете задачу словами, он сам находит нужные файлы, вносит правки и запускает проверки. Практика сводится к четырём вещам: поставить задачу так, чтобы её можно было проверить; выбрать режим одобрений; дать агенту способ убедиться в результате; вовремя откатиться, если пошло не туда. Ниже — весь путь от первого запуска до сдачи одной задачи, с командами и клавишами из официальной документации.

Первый запуск в проекте

Claude Code запускается из каталога проекта. Никаких проектных настроек заранее делать не нужно:

cd путь/к/проекту
claude

Над строкой ввода вы увидите версию, текущую модель и рабочий каталог. Если установки ещё не было, порядок действий для Windows разобран отдельно — в статье про установку Claude Code на Windows.

Что агент получает в этот момент:

  • файлы рабочего каталога и подкаталогов; файлы вне его — только с вашего разрешения;
  • терминал — любую команду, которую вы могли бы выполнить сами: сборку, тесты, git, пакетные менеджеры;
  • состояние git — текущую ветку, незакоммиченные изменения и недавнюю историю;
  • файл правил проекта CLAUDE.md, если он есть;
  • авто-память — заметки, которые Claude сохранил себе в прошлых сессиях.

Важнее то, чего он не делает. Проект не индексируется заранее: файлы читаются по ходу задачи, по мере надобности. Вручную «добавлять контекст» не требуется, но и рассчитывать, что агент уже знает весь репозиторий, нельзя — он знает ровно то, что успел прочитать в этой сессии.

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

Сначала git, потом агент. Работайте в репозитории с чистым состоянием: собственный механизм отката у Claude Code есть, но он покрывает только правки файлов через инструменты редактирования и не заменяет систему контроля версий. Всё, что агент сделает командой в терминале, откатывается только средствами git.

Когда первое знакомство состоялось, выполните /init. Агент разберёт проект и создаст стартовый CLAUDE.md с командами сборки, тестами и обнаруженными соглашениями. Если файл уже существует, /init предлагает улучшения, а не перезаписывает его.

Рабочий цикл: разведка, план, правки, проверка

Внутри одной задачи агент крутит один и тот же цикл: собрать контекст, выполнить действие, проверить результат — и снова, пока задача не закрыта. Вопрос о коде может уместиться в одну итерацию, починка бага пройдёт этот круг несколько раз.

Рекомендованный документацией порядок работы человека поверх этого цикла состоит из четырёх фаз.

1. Разведка. Включите плановый режим — так агент читает файлы и выполняет разведочные команды, но не трогает исходники:

claude --permission-mode plan

В запущенной сессии тот же режим включается клавишами Shift+Tab (в строке состояния появится ⏸ plan mode on) или префиксом /plan для одного запроса. Попросите изучить конкретную область, а не «проект»: «прочитай src/auth и объясни, как устроены сессии и вход».

2. План. Дальше просите не код, а план: какие файлы меняются, в каком порядке, что считать готовым. Клавиши Ctrl+G открывают предложенный план в вашем текстовом редакторе — его можно поправить руками до начала работы. Когда план готов, Claude Code спрашивает, как продолжать: одобрить и работать в автоматическом режиме, одобрить и подтверждать каждую правку вручную или остаться в планировании и уточнить.

3. Реализация. После одобрения плана сессия выходит из планового режима и агент начинает править. В том же запросе имеет смысл сразу задать проверку: «реализуй по плану, напиши тесты на обработчик колбэка, прогони набор тестов и почини падения».

4. Приёмка и коммит. Агент останавливается, когда работа выглядит сделанной. Если у него нет команды, возвращающей «прошло» или «не прошло», единственным проверяющим становитесь вы, и каждая ошибка ждёт, пока вы её заметите. Поэтому в задачу закладывают проверку: тесты, код возврата сборки, линтер, скрипт сравнения вывода с эталоном. И требуют доказательств — вывода команды, а не фразы «всё работает».

Плановый режим не бесплатен: он добавляет круг переписки. Для опечатки, лишней строки лога или переименования его пропускают. Если изменение описывается одним предложением, план не нужен; он окупается там, где вы не уверены в подходе, где правки затрагивают несколько файлов или где код вам незнаком.

Как формулировать саму задачу — отдельная тема, разобранная в статье про промпты для вайбкодинга. Как принимать готовый результат — в чек-листе проверки кода от ИИ. Здесь достаточно помнить, что обе эти части цикла делаете вы, а не агент.

Режимы работы и одобрений

Режим разрешений определяет, что агент делает без вопроса. Это главный переключатель между «я смотрю на каждый шаг» и «я вернусь через полчаса».

РежимЧто выполняется без вопросаКогда уместен
Manual (значение default) только чтение чувствительные участки, незнакомый код
acceptEdits чтение, правки файлов и обычные файловые команды (mkdir, touch, mv, cp и подобные) итерации по коду, который вы всё равно смотрите диффом
plan чтение и разведочные команды; правки заблокированы до одобрения плана изучение кода перед изменением
auto всё, но действия предварительно просматривает отдельная модель-классификатор длинные задачи, когда подтверждать каждый шаг бессмысленно
dontAsk только заранее разрешённые инструменты CI и скрипты с точным списком разрешений
bypassPermissions всё, без проверок только изолированные контейнеры и виртуальные машины

Переключаются режимы клавишами Shift+Tab прямо в сессии. Из автоматического режима первое нажатие уводит в Manual, дальше цикл идёт defaultacceptEditsplan и обратно. Текущий режим всегда виден в строке состояния: ⏸ manual mode on, ⏵⏵ accept edits on, ⏸ plan mode on, ⏵⏵ auto mode on. Режим dontAsk в цикл не входит и задаётся только флагом запуска, а bypassPermissions появляется в цикле, лишь если сессия была так запущена.

С какого режима начинается сессия, зависит от плана и способа запуска. На тарифах Pro, Max и Team интерактивная сессия в терминале стартует в автоматическом режиме; на остальных — в Manual. В Manual же стартуют неинтерактивные запуски claude -p и первая сессия после установки или обновления. Постоянное значение задаётся ключом permissions.defaultMode в файле настроек, а флаг --permission-mode при запуске перекрывает всё.

Поверх режима работают правила разрешений — их редактируют командой /permissions. Правила разрешения снимают повторяющиеся вопросы по конкретным командам (условный npm test), запрещающие правила действуют во всех режимах, включая bypassPermissions. Документация прямо предупреждает: автоматический режим уменьшает число вопросов, но не гарантирует безопасность, а bypassPermissions предназначен только для изоляции. Что именно стоит запрещать и почему, разобрано в безопасности вайбкодинга.

Команды и клавиши на каждый день

Команды запуска, которые нужны почти всегда:

claude                        # интерактивная сессия
claude "почини сборку"        # сессия сразу с задачей
claude -p "объясни функцию"   # разовый запрос без интерактива
claude --continue             # продолжить последнюю беседу в этом каталоге
claude --resume               # выбрать беседу из списка

Внутри сессии команды начинаются со слэша и распознаются только в начале сообщения. Набранный / открывает список доступного.

КомандаЧто делает
/initсоздаёт стартовый CLAUDE.md по вашему проекту
/contextпоказывает, чем занят контекст и какие файлы правил загрузились
/compactсжимает беседу в резюме; принимает уточнение, на чём сфокусироваться
/clearначинает разговор с пустым контекстом
/rewindоткрывает меню отката кода и беседы
/memoryоткрывает файлы правил и авто-память на редактирование
/permissionsправила «разрешить», «спросить», «запретить»
/code-reviewревью текущего диффа в отдельном контексте
/doctorпроверка установки и конфигурации с предложением исправлений
/btwпобочный вопрос, ответ на который не попадает в историю беседы
/helpсписок команд

Клавиши, которые экономят больше всего времени:

  • Esc — прервать агента на середине действия; контекст сохраняется, можно тут же перенаправить.
  • Esc дважды на пустом вводе — меню отката. Если в поле есть текст, двойной Esc сначала очистит его.
  • Shift+Tab — переключение режимов разрешений.
  • Ctrl+O — просмотр стенограммы сессии, Ctrl+T — список задач агента.
  • Ctrl+B — увести выполняющуюся команду в фон и продолжить работу.
  • Ctrl+G — открыть текущий ввод или предложенный план в вашем редакторе.
  • Ctrl+R — обратный поиск по истории запросов, Ctrl+C — прерывание или очистка ввода, Ctrl+D — выход.
  • Alt+P (на macOS Option+P) — сменить модель без выхода из сессии.

Три префикса в строке ввода: / — команда или навык, @ — подстановка пути к файлу (агент прочитает его перед ответом), ! — режим оболочки: команда выполняется напрямую, её вывод попадает в беседу, и агент отвечает на него без отдельного запроса. Многострочный ввод — \ с Enter или Ctrl+J; сообщение, отправленное во время работы агента, встаёт в очередь, а не прерывает его.

CLAUDE.md: правила проекта

CLAUDE.md — обычный markdown-файл, который загружается в начало каждой сессии. Это место для того, что вы иначе объясняли бы заново каждый раз: команды сборки и тестов, соглашения проекта, особенности окружения, правила «всегда делай так».

Файлы читаются по цепочке каталогов, от общего к частному:

ФайлОбласть
~/.claude/CLAUDE.mdваши личные правила во всех проектах
./CLAUDE.md или ./.claude/CLAUDE.mdправила проекта, разделяемые командой через репозиторий
./CLAUDE.local.mdличные правила в этом проекте; добавляется в .gitignore

Практический ориентир из документации — держать файл короче двухсот строк. Длинный файл съедает контекст и хуже соблюдается: важные правила теряются среди второстепенных. Полезный вопрос к каждой строке: «если это убрать, агент начнёт ошибаться?». Если нет — строка лишняя.

Что писать: команды, которые невозможно угадать; правила стиля, отличающиеся от общепринятых; предпочитаемый способ запуска тестов; соглашения о ветках и коммитах; архитектурные решения именно этого проекта; известные грабли и неочевидное поведение. Чего не писать: то, что агент выяснит чтением кода; общеизвестные конвенции языка; подробную документацию к внешним библиотекам (лучше ссылку); пофайловое описание репозитория; советы вроде «пиши чистый код».

Проверить, что файл действительно загрузился, можно командой /context — в разделе с файлами памяти он должен быть виден. Открыть и отредактировать правила — командой /memory. Дополнительные файлы подключаются синтаксисом @путь/к/файлу прямо в тексте.

Правила — это контекст, а не запрет. Содержимое CLAUDE.md подаётся модели как текст, который она старается соблюдать, но гарантии выполнения нет. Если действие обязано происходить всегда и без исключений (прогон линтера после каждой правки, запрет на запись в каталог миграций), это делается хуком — скриптом, который выполняется в заданной точке независимо от решений модели.

Рядом работает вторая, автоматическая память: Claude сам сохраняет выводы из ваших исправлений и предпочтений и подгружает индекс этих заметок в начале сессии. Просмотреть, отредактировать или выключить её можно там же, через /memory.

Управление сессией: контекст и откат

Когда контекст кончается

Контекстное окно держит всё сразу: системные инструкции, ваши правила, авто-память, историю переписки, содержимое каждого прочитанного файла и вывод каждой команды. Заполняется оно быстро — одна сессия отладки легко съедает десятки тысяч токенов, — и по мере заполнения качество работы падает: агент начинает «забывать» ранние указания и чаще ошибаться.

Когда предел близко, Claude Code сжимает историю сам: сначала выбрасывает старые выводы инструментов, затем суммирует беседу. Ваши запросы и ключевые фрагменты кода при этом сохраняются, а подробные инструкции из начала разговора могут потеряться — именно поэтому постоянные правила место в CLAUDE.md, а не в переписке. Файл правил из корня проекта после сжатия перечитывается с диска заново.

Что вы можете сделать до того, как сжатие сработает само:

  • /context — посмотреть, чем занято окно, прежде чем начинать большую задачу;
  • /compact с уточнением («/compact сфокусируйся на правках API») — резюме сохранит то, что важно вам, а не то, что автоматика сочтёт важным;
  • /clear — между несвязанными задачами; старый разговор вытесняет файлы, которые понадобятся в новой;
  • отдать разведку субагенту («используй субагента, чтобы разобраться, как устроено обновление токена») — большие чтения останутся в его контексте, а к вам вернётся только резюме.

Контрольные точки и откат

Каждый ваш запрос создаёт контрольную точку, а перед правкой файла сохраняется его прежнее содержимое. Меню отката открывается командой /rewind или двойным Esc на пустом вводе. В нём перечислены отправленные вами запросы, и для выбранной точки доступны варианты: вернуть код и беседу, вернуть только беседу, вернуть только код, а также сжать беседу от этой точки вперёд или до неё. Контрольные точки хранятся вместе с беседой, поэтому закрыть терминал, вернуться к сессии завтра и откатиться — рабочий сценарий.

Границы механизма важно знать заранее:

  • отслеживаются только правки через инструменты редактирования файлов; всё, что агент сделал командой в терминале (rm, mv, миграция базы), откатом не вернётся;
  • правки субагентов, работающих в фоне, обычно в контрольные точки текущей сессии не попадают;
  • изменения, которые вы или другая сессия внесли мимо этой беседы, не отслеживаются;
  • действия во внешних системах — запросы к API, деплой, письма — необратимы в принципе; их сдерживает режим разрешений, а не откат.

Отсюда простое следствие: откат — это удобство внутри сессии, а страховка — git.

Типичные ошибки новичка

Что происходитПочему плохоЧто делать
Одна сессия на весь день и все задачи подряд контекст забит посторонним, качество падает /clear между несвязанными задачами
Третья попытка исправить одно и то же в той же беседе история засорена неудачными подходами, агент к ним возвращается после двух неудачных исправлений — /clear и новая, более точная формулировка
Задача без критерия готовности агент останавливается на «выглядит сделанным» дать команду, возвращающую «прошло/не прошло», и требовать её вывод
Запрос «изучи проект» без границ сотни прочитанных файлов съедают окно ещё до начала работы сузить область или отдать разведку субагенту
CLAUDE.md разрастается до полотна важные правила теряются, файл соблюдается хуже короткого резать безжалостно; обязательное к исполнению переносить в хуки
Плановый режим на каждую мелочь лишний круг переписки там, где правка на одну строку план — для незнакомого кода и многофайловых изменений
Вера в то, что откат вернёт всё команды терминала и внешние действия не отслеживаются чистое состояние git до начала и коммит после приёмки
Приёмка по фразе «готово, всё работает» правдоподобный код без обработки крайних случаев читать дифф и проверять поведение самому

Одна задача от начала до конца

Как это выглядит целиком, на примере починки бага:

  1. Чистое состояние. git status пуст, вы в каталоге проекта, запускаете claude.
  2. Разведка. Shift+Tab до планового режима. «Пользователи жалуются, что вход перестаёт работать после истечения сессии. Прочитай src/auth, разберись в обновлении токена и скажи, где может быть причина».
  3. План. «Составь план исправления: какие файлы меняем, какой тест воспроизводит проблему, что считаем готовым». Читаете план, при необходимости правите его через Ctrl+G.
  4. Одобрение. Выбираете вариант с ручным подтверждением правок, если код чувствительный, или автоматический — если задача рутинная.
  5. Реализация с проверкой. «Сделай по плану: сначала падающий тест, воспроизводящий баг, затем исправление. Прогони набор тестов и покажи вывод».
  6. Коррекция на ходу. Видите, что агент ушёл не туда, — Esc и уточнение. Ушёл далеко — двойной Esc и откат к нужной точке.
  7. Приёмка. Читаете дифф, проверяете поведение руками, при желании запускаете /code-review — ревью пройдёт в отдельном контексте и вернёт находки в сессию.
  8. Коммит. «Закоммить с осмысленным сообщением». После этого — /clear и следующая задача с чистым контекстом.

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