К содержимому
Claude Code с 0:полный курс
Уровень 5 · Память и команда 10 мин Проверено автором · 12 окт. 2026 г. Сверено с Claude Code v2.1.287 · 12 окт. 2026 г.

От запроса до коммита

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

Уровень 5 · 0 / 4 уроков0%

В этом уроке нет практического задания — просто прочитай и ответь на вопросы.

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

Семь шагов

  1. Разведка в : Claude читает и отвечает, ничего не меняя.
  2. План — одобряй, только когда он совпадает с тем, что тебе нужно.
  3. Реализация — правки одобряешь по мере появления.
  4. Тесты — работает ли изменение, говорят они, а не итог, который пишет Claude.
  5. Дифф — читаешь построчно.
  6. Поправка — всё, что не нравится, просишь исправить обычными словами.
  7. Коммит — изменение сохранено, его легко откатить.

Задача

Коллега пишет: «если в linkcheck.json указана несуществующая папка, утилита говорит, что все ссылки в порядке, и выходит с кодом 0». Приложил скриншот.

1. Разведка

Нажимай Shift+Tab, пока в строке статуса не появится ⏸ plan mode on. Скриншот вставь из буфера: Ctrl+V (в iTerm2 работает и Cmd+V, в Windows и WSL — Alt+V). В поле ввода появится метка [Image #1]. Нет метки — картинка не добавилась: перетащи файл в окно Claude Code или укажи путь, например «посмотри на картинку .practice/bug.png».

Это вывод linkcheck для конфига с несуществующей папкой. Почему он считает, что всё в порядке? Где в коде читается список папок?

2. План — с падающим тестом

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

Это прямой совет из рекомендаций Anthropic: напиши падающий тест, который воспроизводит проблему, и только потом исправляй.

Пока план на экране, открой второй терминал и сохрани две вещи:

git status --porcelain > .practice/before.txt
printf '%s\n' src/config.js src/cli.js test/config.test.js > .practice/plan.txt

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

3. Реализация

Выбери Yes, manually approve edits и одобряй правки по одной. Команды тоже читай: обычное Yes, когда команда делает то, что нужно плану, и No с пояснением, если она делает больше — например, прячет изменения в stash или перезаписывает файлы. Не выбирай Yes, and switch to auto mode: тогда остальные шаги проверял бы не ты, а фоновые проверки.

4. Тесты

Новый тест должен сначала упасть, а после исправления — пройти. Claude Code сворачивает длинный вывод команды до короткой сводки. Ctrl+O раскрывает его — найди итог тестов в конце, Esc вернёт назад.

5. Дифф

Набери /diff. Откроется одно из двух:

  • панель рядом с разговором. Тестовые файлы в её списке скрыты, пока не нажмёшь строку со счётчиком вроде 1 test/generated (show). Если панель уже открылась сама, читай в ней: повторный /diff её закроет;
  • список над полем ввода. Стрелками выбираешь файл, Enter открывает его , Esc возвращает.

Во втором терминале git diff покажет изменения в отслеживаемых файлах. Новый файл, который создал Claude, там не появится, пока не выполнишь git add -N путь/к/файлу. Если дифф остановился на двоеточии — это пейджер, выход по q.

6. Поправка

Прочитал тест и видишь, что он проверяет только один случай? Скажи прямо:

Тест проверяет только одну несуществующую папку. Добавь случай, когда из трёх папок не существует одна, и снова запусти тесты.

После поправки снова посмотри дифф и убедись, что тесты проходят.

7. Коммит

закоммить исправление вместе с тестом, в сообщении скажи, что изменилось

Claude спросит перед запуском коммита — прочитай команду целиком. Потом проверь, что коммит трогает только файлы из плана:

git show --stat HEAD
cat .practice/plan.txt
git status

В коммите не должно быть ни одного файла вне плана, а git status должен сказать nothing to commit, working tree clean.

Мини-проверка

В git show --stat HEAD есть файл src/utils.js, которого не было в плане. Что делать?

Осторожно

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

Новое в 2.1.286

Если в проекте или в твоих навыках есть навык с именем verify, Claude Code сам запускает его прямо перед коммитом — кроме коммитов только с документацией или только с тестами. Положи в него свою проверку перед коммитом (тесты, линтер, сборку), и шаг «проверить» из этого цикла станет обязательным.
Как устроены навыки →

Проверь себя

Отвечено 0/3
Режим:

Claude написал «все тесты проходят». Чем это проверить?

Claude создал новый файл src/limits.js. Почему его нет в выводе git diff?

Зачем, пока план на экране, сохранить список файлов, которые он собирается менять?

Выполни задание в терминале и ответь на вопросы, чтобы завершить урок.

📝 Мои заметки

Сохраняется автоматически в этом браузере · видно на странице «Заметки».

Вопросы и ответы по уроку

Claude написал «все тесты проходят». Чем это проверить?

Изменение подтверждают тесты, а не итог, который пишет Claude. Claude Code сворачивает длинный вывод; Ctrl+O раскрывает его, Esc возвращает назад.

Claude создал новый файл src/limits.js. Почему его нет в выводе git diff?

Новый файл git ещё не отслеживает. git add -N отмечает его как намеренный к добавлению, и он появляется в git diff.

Зачем, пока план на экране, сохранить список файлов, которые он собирается менять?

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

В git show --stat HEAD есть файл src/utils.js, которого не было в плане. Что делать?

Список файлов из плана — договор. Изменение за его пределами нужно объяснить или убрать, пока коммит не ушёл дальше.

Листай уроки клавишами ← → · поиск по ⌘K