Как не наху*вертить в коде с Cursor AI + Supabase?

Как не наху*вертить в коде с Cursor AI + Supabase?

В последнее время все чаше слышу, что Cursor AI или подобные заменят программистов, продакты смогут за час собирать MVP.

Как не наху*вертить в коде с Cursor AI + Supabase?

В твиттере был такой чувак, Leo, индихакер. Он активно продвигал быструю разработку с Cursor AI, шерил всю информацию как что делал. В итоге, дорос до хорошего MRR, а потом вдруг перестал постить.

Что произошло?

Какой чувак, следил за Leo и решил поломать ему прод: набросал много рандомных записей в базу данных, вытянул API ключи и начал активно их юзать. В итоге Leo сказал, что с него хватит и отключил свой SaaS, говорит что планирует переписать с использованием нормальных "программистов" на Bubble.io)) Тоже кстати NoCode только более продвинутый.

Как не наху*вертить в коде с Cursor AI + Supabase?

Или другой более известный чувак, Pieter Levels с Photo AI, Remote OK недавно написал, что его начали жестко DDOS-ить, благо у него был прошаренный девопсер, который заметил это и просто отключил сервис.

Как не наху*вертить в коде с Cursor AI + Supabase?

Cursor AI и ему подобные это не серебряная пуля, которая решит все ваши проблемы и закодит идеальный MVP, нужно перепроверять каждое изменение. Например, буквально неделю назад я случайно дропнул продовую базу с Supabase, просто не обратил внимание на то, что пишет мне Cursor AI и задеплоил.

Написал 15+ советов, как лучше работать с Cursor AI и пилить ваш SaaS, чтобы не повторить судьбу Leo)) 😁 Надеюсь будет полезно

1. Проверьте что все ваши ключи, токены от апишек в .env файле. Ни в коем случаем не храните в строках в коде!

2. Обрабатывайте все формы с вводом текста через DOMPurify, ZOD или аналоги. Иначе, юзер может вставить свой скрипт в вашу форму, он выполнится и сможет достать защищенные данные.

3. Лучше перенесите максимально всю логику на бекенд или в Edge function от Supabase / AppWrite. Фронт должен быть тонким (без сложной логики).

4. Добавляйте авторизацию, даже самую простую. У того же Supabase можно сделать в пару промптов. Иначе, может набежать дофига индусов и поломать ваш прод. Вот, например стартовый промпт для вебапки с авторизацией через Supabase.

5. Уберите все логи в консоль из кода. Плохие юзеры могут через логи достать инфу и дальше поломать ваш прод.

6. Используйте готовые UI компоненты, так и лендос будет красивее + не будет сломанной логики. Хорошие библиотеки компонентов тут: Shadcn, 21dev

7. После каждой просьбы Cursor AI добавляйте: check that there are no errors. Для этого подключите вот этот MCP, через него Cursor сможет ходить в консоль, делать скриншоты и как итог меньше ломать код при новых изменениях. Инструкция по установке.

8. Для старта лучше использовать готовые шаблоны приложений, где уже все работает. Например, тут много шаблонов готовых веб приложений. Дальше скачиваете шаблон, открываете в Cursor AI и дорабатываете как вам нужно.

9. На старте не пилите свой бекенд, лучше используйте готовое решение аля Supabase / AppWirte. Там множество готовых модулей: база данных, edge функции, авторизация, админ панель и много всяких других тулов.

10. Лучше сразу добавить Sentry, чтобы быстрее находить и фиксить баги на проде. А то вам напишет пользак, что у него ничего не работает, а вы даже не сможете понять в чем проблема.

11. Для аналитики хорошо подходит PostHog, самое топовое это повтор сессий, сможете понять что в вашей апке смущает пользователей или где поломалось.

12. Не добавляйте много сторонних библиотек, чем их больше, тем сложнее поддерживать код. Может наступить момент, что разные библиотеки будут конфликтовать друг с другом и все поломается.

13. Регулярно делайте бекапы базы данных, я недели 2 назад случайно дропнул весь прод, в итоге не смог восстановить 100% данных. Для Supabase лучше вообще сделать 2 отдельных проекта: для Dev и Prod.

14. Не просите нейронку сразу сделать много много изменений, идите по шагам, иначе поломаете код или запутете нейронку еще больше. Каждое изменение отдельно отправляйте на Git (Для некоденров, Git это типа хранилище разных версий приложения. Если что-то пойдет не так, вы сможете откатиться назад на работающую версию.)

15. Попросите нейронку пройтись по коду и описать как работают отдельные модули, при каких-то больших изменениях прикрепляйте документацию и просите чтобы нейронка не поломала. Идеально, это написать тесты, но на старте они вам точно не нужны. Тестим на проде 😁

16. Если хотите еще больше защитить бдшку, то добавьте RLS - row level security. Это такие правила, кто может писать / читать из вашей базы данных. Чтобы написать хорошие правила можете юзать вот этот промпт.

17. Если у вас веб приложение, то разделите его на 2 части: лендос + само веб приложение. Так, если вы что-то поломаете в приложении, хотя бы лендос будет работать.

18. Для хостинга идеально подходит Vercel, Netlify. Сможете захостить и фронт и бек, и даже базу данных, если не хотите использовать Supabase / AppWrite. Если у вас свой сервак или арендовали на Hetzner, то советую использовать обертку над серваком аля Coolify / Dockploy, будет доступен почти весь функционал Vercel, только на вашем серваке.

Разбираю еще больше историй успеха SaaS и вральных приложений у меня в телеграм канале

Как не наху*вертить в коде с Cursor AI + Supabase?
1
1 комментарий