✻ Claude Code по-русски
🎧 Аудиокурс

#Итоговый проект Начального уровня: исправьте баг из отчёта — от плана до коммита

Начальный уровень · Итоговый проект · от 30 до 60 минут · Нужно: пять уроков Начального уровня или соответствующие навыки · Сверено с Claude Code v2.1.285 (stable) 05.10.2026

Это задание объединяет весь Начальный уровень. В отличие от уроков, разбора примера здесь нет: шаги говорят, что делать, а промпты выбираете вы. Итоги Начального уровня — это список того, что вы умеете к концу уровня. Проверка читает файлы и коммит, которые оставляет это задание, а остальное из итогов вы отмечаете сами в разделе Чего не видит проверка. Когда сделано и то и другое, вы показали итоги Начального уровня — проходили вы уроки или нет.

#Что понадобится

Примечание

В нативной Windows выполняйте все команды в PowerShell. Команда без строки Windows работает там как есть; если после команды идёт строка Windows, используйте её. Если Shift+Tab ничего не делает, нажимайте Alt+M (Interactive mode).

#Задание

Коллега оставил отчёт о баге в capstone/beginner-bug.md в вашей копии для практики: если linkcheck.json указывает несуществующую папку, инструмент сообщает, что все ссылки в порядке, и завершается с кодом 0.

Чтобы воспроизвести баг вручную, создайте новую папку вне своей копии для практики и сохраните в ней { "files": ["docs"] } как linkcheck.json. Затем выполните в копии npm run linkcheck -- <that folder>: пока баг не исправлен, команда выводит All relative links resolve. Не кладите linkcheck.json в свою копию, потому что проверка засчитает его как изменение. Windows: сохраняйте файл командой '{ "files": ["docs"] }' | Set-Content <that folder>\linkcheck.json, а не через >. В Windows PowerShell 5.1 > пишет в UTF-16 (about_Character_Encoding), и инструмент отвергает такой файл как некорректный JSON с кодом выхода 2 — даже до исправления.

Исправьте баг так, как учили уроки Начального уровня:

  1. Сохраните вывод claude --version в .practice/version.txt.
  2. Начните сессию и переключитесь в режим планирования до первого промпта. Затем попросите Claude прочитать отчёт о баге и спланировать исправление. Исправление затрагивает два исходных файла и тест. Попросите план, в котором тест добавляется и запускается до изменения кода, чтобы вы увидели, как он падает (Best practices: «напишите падающий тест, воспроизводящий проблему, затем исправьте её»).
  3. Пока итоговый план на экране, откройте другой терминал в той же папке. Сохраните git status --porcelain в .practice/capstone-before.txt. Сохраните файлы, которые изменит план, включая тестовый, в .practice/capstone-plan.txt: по одному пути на строку, относительно корня репозитория, с прямыми слешами, например src/cli.js.
  4. Одобрите план. Посмотрите, как новый тест падает, а после исправления проходит.
  5. Просмотрите весь diff, включая тестовый файл, как в уроке 3. git diff не показывает новый файл, пока вы не выполните git add -N <file> (git add). Попросите хотя бы одну поправку, не выходящую за файлы, названные в плане, и убедитесь, что npm test проходит.
  6. Закоммитьте исправление вместе с тестом, затем сохраните коммит командой git rev-parse HEAD > .practice/capstone-commit.txt. Проверка читает только этот коммит, так что если вы потом его измените, сохраните его снова.

По ходу работы удерживайте сессию в рамках: поглядывайте на /context и сжимайте или откатывайте, когда это помогает.

#Проверка

Проект завершён, когда выполнено всё это:

Запустите npm run check -- b-capstone в своей копии для практики. Для каждого непройденного пункта будет выведено, что исправить.

#Чего не видит проверка

Эти части итогов Начального уровня проверка не смотрит. Отметьте их сами, честно:

Когда отмечены все пункты на этой странице, вы готовы к Среднему уровню. Его список «вы готовы, если» — это итоги Начального уровня.

Если этот уровень вам помог, поставьте звезду оригинальному репозиторию — так руководство найдут другие разработчики.


Источники: Best practices · Interactive mode · git add · about_Character_Encoding · уроки Начального уровня, где для каждого шага указаны официальные страницы.

← Память проекта в CLAUDE.md · Оглавление Начального уровня · Оглавление Среднего уровня → · Застряли на итоговом проекте?