тесты
многие до сих пор воспринимают их как мусор, который "когда-нибудь" надо МОЖЕТ БЫТЬ написать
и это одна из главных причин, почему проекты потом разваливаются
ведь тесты - это то, что превращает вайбкодинг из игрушки в стабильную разработку, где вы всегда уверены, что правка от агента не снесет вам базу юзеров или не выведет на лендинг пароль от вашей базы данных
любая правка от агента теперь принимается со спокойствием на душе
и мысль тут очень простая
если у вас нет нормального контура проверки, то вайбкодинг очень быстро превращается в наслаивание одного костыля на другой. И в итоге ваше приложение может бомбануть в самый неподходящий момент
и под тестами я не подразумеваю покумекать, записать видео, сделать скриншот и отправить нейронке со словами "bro fix plz no mistakes!!!!", накрутив на это дело playwright mcp или другую штуку
я имею в виду единую нормальную систему для отлова багов: тесты, трейсы, логи, инварианты и все, что дает воспроизводимость
чтобы на каждую ошибку был понятный путь до причины. Почему сломалось. Где сломалось. После какого действия сломалось
именно это и дает фундамент, на котором можно билдить быстрее, спокойнее и качественнее (и с кайфом)
теперь про то, что реально должно быть в проекте
юнит-тесты
ловят поломку логики в изоляции: функции, права доступа, расчеты и прочее. Это самые дешевые и быстрые тесты, но часто именно они ловят самые неприятные баги
регрессионные тесты
проверяют, что уже работавшее поведение осталось рабочим после новой правки. По сути, это страховка от ситуации, когда агент вроде бы чинил лендинг, а случайно снес вам важную логику
они особенно важны на критичных user flow по типу логина, регистрации, оплаты, редактирования, удаления и так далее
инварианты
охохо, они ловят самое мерзкое. Когда состояние вроде бы хорошее, но внутри уже все... конец. Для canvas штук, редакторов, drag&drop и других комплексных систем это обязательно
инварианты дают фундамент
после любого действия структура должна оставаться валидной. Не должно быть невозможных состояний и тихих поломочек, которые потом вылезают в 12+ часов поиска бага с codex или claude
скриншоты/видео
полезны в основном для ui/ux и визуальных регрессий
во всем остальном нужен не магический "plz help no mistakes skill", а воспроизводимость и стабильность
поэтому если подытожить
главный секрет вайбкодинга - это не просить агента собрать миллион документаций, обложиться скиллами и написать идеальный промпт - это все уже знают
главный секрет - построить систему, в которой любая ошибка ловится моментально, еще до пуша в прод. А не после потери всех пользователей и волос на голове...
ну и в комментики закину прям боевой промптяру для агента, чтобы вы смогли собрать себе свой фундамент