Вайб-код StarterKit - как эффективно писать код на `auto` агенте
Всем привет! Сегодня расскажу про некоторые мои промты, которые я использую для вайбкодинга, они сильно упрощают процесс разработки и повышают точность агентов, благодаря чему можно использовать даже слабые и self-hosted модели.
Инициализация
Обычно если мне нужно быстро разобраться в каком-то новом проекте написанном на python, или же беру в работу новую фичу, я прошу Cursor:
Это позволяет прогреть контекс перед началом работы.
Генерация правил
Если проект новый или старый и у него нет правил Cursor Rules то я прошу курсор сгенерировать правила работы с проектом (к сожалению авторы в 2.0 решили убрать эту фичу, но можно описать, как генерировать правила самостоятельно и всё будет окей).
Тут очень важно чтобы у вас в корне проекта были текстовые спецификации проекта подготовленные заранее, либо как вариант актуальная документация.
Желательно чтобы в спеках или доке была информация об архитектуре, о том какую бизнес-задачу решает система, от каких компонентов система зависит и каким образом предполагается пользователям с ней взаимодействовать. Нефункциональные требования тоже будут плюсом, это чуть уменьшит полёт фантазии модели.
Пример промта смотри на GitHub, а в моих более ранних сообщениях (раз, два, три) на тему вайбкода будут подробности.
Исправление бага
В случае если нужно решить какой-то баг на прогретом контексте пишем текстом, что нужно исправить и далее такую вот простенькую инструкцию:
Финальная прогонка
Перед тем как коммитать файлы в репозиторий я прошу курсор выполнить следующее:
Предполагаю, что у меня уже настроен pre-commit, который тригерит хуки ruff, flake8, docformatter, mdformat и так далее.
Итог
Надеюсь эти промты пригодятся и вам, репозиторий с промтами на GitHub.
UPD. Добавил в реп примеры моих cursor rules, которые мигрируют из проекта в проект.
Всем привет! Сегодня расскажу про некоторые мои промты, которые я использую для вайбкодинга, они сильно упрощают процесс разработки и повышают точность агентов, благодаря чему можно использовать даже слабые и self-hosted модели.
Инициализация
Обычно если мне нужно быстро разобраться в каком-то новом проекте написанном на python, или же беру в работу новую фичу, я прошу Cursor:
Изучи код, документацию и тесты, `venv` в .venv, запускать тесты через `pytest`, выполни тесты, попытайся разобраться что и как работает, напиши краткий отчёт.
Это позволяет прогреть контекс перед началом работы.
Генерация правил
Если проект новый или старый и у него нет правил Cursor Rules то я прошу курсор сгенерировать правила работы с проектом (к сожалению авторы в 2.0 решили убрать эту фичу, но можно описать, как генерировать правила самостоятельно и всё будет окей).
Тут очень важно чтобы у вас в корне проекта были текстовые спецификации проекта подготовленные заранее, либо как вариант актуальная документация.
Желательно чтобы в спеках или доке была информация об архитектуре, о том какую бизнес-задачу решает система, от каких компонентов система зависит и каким образом предполагается пользователям с ней взаимодействовать. Нефункциональные требования тоже будут плюсом, это чуть уменьшит полёт фантазии модели.
Пример промта смотри на GitHub, а в моих более ранних сообщениях (раз, два, три) на тему вайбкода будут подробности.
Исправление бага
В случае если нужно решить какой-то баг на прогретом контексте пишем текстом, что нужно исправить и далее такую вот простенькую инструкцию:
Сначала напиши тест воспроизводящий данный баг, выполни его и убедись, что ошибка действительно есть, потом пиши код исправляющий ошибку и выполни тест, вноси исправления до тех пор, пока новый тест не заработает, выполни прогонку всех тестов и если они все зелёные пиши краткий отчёт о проделанной работе.
Финальная прогонка
Перед тем как коммитать файлы в репозиторий я прошу курсор выполнить следующее:
Используя `pre-commit run -a` выполни проверку всех файлов, в случае возникновения ошибок внеси корректировки в соответствии с рекомендациями линтеров.
Предполагаю, что у меня уже настроен pre-commit, который тригерит хуки ruff, flake8, docformatter, mdformat и так далее.
Итог
Надеюсь эти промты пригодятся и вам, репозиторий с промтами на GitHub.
UPD. Добавил в реп примеры моих cursor rules, которые мигрируют из проекта в проект.