#Итоговый проект Начального уровня: исправьте баг из отчёта — от плана до коммита
Начальный уровень · Итоговый проект · от 30 до 60 минут · Нужно: пять уроков Начального уровня или соответствующие навыки · Сверено с Claude Code v2.1.285 (stable) 05.10.2026
Это задание объединяет весь Начальный уровень. В отличие от уроков, разбора примера здесь нет: шаги говорят, что делать, а промпты выбираете вы. Итоги Начального уровня — это список того, что вы умеете к концу уровня. Проверка читает файлы и коммит, которые оставляет это задание, а остальное из итогов вы отмечаете сами в разделе Чего не видит проверка. Когда сделано и то и другое, вы показали итоги Начального уровня — проходили вы уроки или нет.
#Что понадобится
- Ваша копия шаблона для практики без незакоммиченных изменений и Node.js LTS (в Codespace на вашей копии он есть). Если
git status --porcelainвыводит файлы, закоммитьте их или уберите в сторону черезgit stash push --include-untracked. Итоговый проект выполняется только в шаблоне. - Если вы пропустили уроки: создайте в копии папку
.practice/(mkdir -p .practice; Windows:New-Item -ItemType Directory -Force .practice). Шаблон уже велит git её игнорировать. - Закоммиченный
CLAUDE.mdв вашей копии, где названа команда тестовnpm test:git show HEAD:CLAUDE.mdеё показывает. Он появляется в уроке 5; если в вашемnpm testне назван, добавьте. - Если вы пропустили урок 5 или делали его только в своём репозитории: запустите
claudeв своей копии и выполните/init. В новомCLAUDE.mdудалите сказанное о собственных файлах курса (checks/,capstone/и.github/) и обnpm run check, включая любое правило о том, чтобы не работать вmain: оно относится к репозиторию шаблона, а не к вашей копии. Убедитесь, что в файле названа командаnpm test. - Закоммитьте любое изменение
CLAUDE.mdотдельно, до начала (git add CLAUDE.md, затемgit commit -m "Add CLAUDE.md"): коммит с исправлением может менять только файлы, названные в плане. - Расход лимита: умеренный.
Примечание
В нативной 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 — даже до исправления.
Исправьте баг так, как учили уроки Начального уровня:
- Сохраните вывод
claude --versionв.practice/version.txt. - Начните сессию и переключитесь в режим планирования до первого промпта. Затем попросите Claude прочитать отчёт о баге и спланировать исправление. Исправление затрагивает два исходных файла и тест. Попросите план, в котором тест добавляется и запускается до изменения кода, чтобы вы увидели, как он падает (Best practices: «напишите падающий тест, воспроизводящий проблему, затем исправьте её»).
- Пока итоговый план на экране, откройте другой терминал в той же папке. Сохраните
git status --porcelainв.practice/capstone-before.txt. Сохраните файлы, которые изменит план, включая тестовый, в.practice/capstone-plan.txt: по одному пути на строку, относительно корня репозитория, с прямыми слешами, напримерsrc/cli.js. - Одобрите план. Посмотрите, как новый тест падает, а после исправления проходит.
- Просмотрите весь diff, включая тестовый файл, как в уроке 3.
git diffне показывает новый файл, пока вы не выполнитеgit add -N <file>(git add). Попросите хотя бы одну поправку, не выходящую за файлы, названные в плане, и убедитесь, чтоnpm testпроходит. - Закоммитьте исправление вместе с тестом, затем сохраните коммит командой
git rev-parse HEAD > .practice/capstone-commit.txt. Проверка читает только этот коммит, так что если вы потом его измените, сохраните его снова.
По ходу работы удерживайте сессию в рамках: поглядывайте на /context и сжимайте или откатывайте, когда это помогает.
#Проверка
Проект завершён, когда выполнено всё это:
-
.practice/version.txtсодержит выводclaude --version. -
.practice/capstone-before.txt, сохранённый, пока план был на экране, не перечисляет изменённых файлов. - Коммит из
.practice/capstone-commit.txtменяет только файлы, перечисленные в.practice/capstone-plan.txt, включая тестовый. - Баг исправлен: с
linkcheck.jsonиз отчёта в папке вне вашей копииnpm run linkcheck -- <that folder>завершается с кодом 2. -
npm testпроходит. - Закоммиченный
CLAUDE.mdназывает команду тестовnpm test. -
git status --porcelainничего не выводит.
Запустите npm run check -- b-capstone в своей копии для практики. Для каждого непройденного пункта будет выведено, что исправить.
#Чего не видит проверка
Эти части итогов Начального уровня проверка не смотрит. Отметьте их сами, честно:
- Я могу определить через
/status, какую модель и какой аккаунт использует сессия. - Я умею переключать режимы разрешений через
Shift+Tabи могу сказать, какой нужен задаче. - Я прочитал весь diff до коммита и попросил Claude хотя бы об одной поправке.
- Я умею удерживать сессию в рамках с помощью
/context,/clear,/compact,/rewindи/resume. - Я видел, как новая сессия следует правилу из CLAUDE.md, которое я не повторял в промпте. Если вы пропустили урок 5, это показывает его разбор примера.
Когда отмечены все пункты на этой странице, вы готовы к Среднему уровню. Его список «вы готовы, если» — это итоги Начального уровня.
Если этот уровень вам помог, поставьте звезду оригинальному репозиторию — так руководство найдут другие разработчики.
Источники: Best practices · Interactive mode · git add · about_Character_Encoding · уроки Начального уровня, где для каждого шага указаны официальные страницы.
← Память проекта в CLAUDE.md · Оглавление Начального уровня · Оглавление Среднего уровня → · Застряли на итоговом проекте?