Файлы, терминал, Git и первый запуск
Что именно меняет агент
Агент отвечает: «Готово». Вы видите несколько файлов и не знаете, какой из них запускать. Прежде чем поручать изменения, разберём четыре предмета: папку проекта, исходный код, данные и команду запуска.
Исходный код описывает действия программы. В нашем проекте это 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 и папку запуска. Не поручайте агенту переписывать приложение до выяснения причины.