Все главы учебника
Содержание учебника
Глава 02 / Вайбкодинг

Файлы, терминал, Git и первый запуск

14 мин чтенияКонтент v0.11.0

Что именно меняет агент

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

Исходный код описывает действия программы. В нашем проекте это app.py. Данные — список задач в JSON-файле. JSON хранит значения в текстовой форме; список может выглядеть так:

[{"id": 1, "title": "Пройти первый урок", "done": false}]

id обозначает задачу, title — её название, done — состояние. Кавычки и запятые относятся к формату. Читаемый текст ещё не гарантирует корректный JSON: проверять его умеет программа.

Терминал запускает программы текстовыми командами. Рабочая папка определяет, где команда ищет относительные пути. Ошибка «файл не найден» нередко означает неправильную папку, а не сломанный код. README — инструкция для человека: что установить и как запускать проект.

Подготовка среды

Нужны Python 3.10 или новее и Git. Установите их из официального сайта Python и сайта Git. На Windows можно пользоваться PowerShell; на macOS и Linux — обычным терминалом. Команды курса используют python3. Если на Windows работает только py -3, заменяйте им python3 во всех командах, сохраняя остальные аргументы.

Распакуйте архив в отдельную папку, откройте терминал в vibecoding-labs/starter и проверьте среду:

python3 --version
git --version
python3 app.py --help
python3 app.py --file demo.json list
python3 check.py

--help выводит доступные команды. --file demo.json выбирает учебный файл данных. В заготовке список пуст, а проверки должны завершиться ненулевым кодом: добавление и завершение задачи ещё не реализованы. Это ожидаемый результат. В reference те же проверки должны пройти. Не используйте одну папку как заготовку и эталон одновременно.

Код возврата сообщает, чем закончилась команда: 0 обычно означает успех, другое число — ошибку. Сообщение «проверка запущена» не равнозначно «проверка пройдена».

Как сохранять изменения

В новой учебной папке создайте локальную историю:

git init
git status --short
git add app.py check.py tests README.md .gitignore
git commit -m "Save course starter"

Если Git просит имя и адрес, настройте их локально по инструкции первого коммита. git add выбирает содержимое для сохранения, git commit записывает снимок. Перед следующим коммитом используйте git diff: он показывает строки, изменившиеся после подготовки исходного снимка. git status --short также показывает новые файлы, которые обычный diff не включает.

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

Самостоятельное задание

Запустите заготовку и эталон в разных папках. Сохраните версию Python, команду, код возврата и по одной строке результата каждой проверки. Создайте первый коммит заготовки. Попросите агента объяснить назначения файлов, пока не разрешая менять их.

Критерии и разбор

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

Дальше: Claude Code, Codex и состав рабочего окружения.