Вайб-кодинг позволяет собрать небольшое приложение, даже если человек не умеет уверенно писать код с нуля. Пользователь описывает результат обычным языком, а Claude Code читает файлы проекта, меняет код, запускает команды и тесты. Но хороший запрос не превращает идею в готовый продукт автоматически. Чем ближе приложение к реальным пользователям, деньгам и персональным данным, тем больше решений приходится проверять вручную.
Для первого проекта лучше выбрать одну понятную задачу, небольшой набор экранов и простую модель данных. Планировщик дел, каталог книг или учёт домашних расходов подходят лучше, чем интернет-банк, медицинская система или сложная социальная сеть. Чем выше цена ошибки, тем опаснее полагаться на сгенерированный код без опытного разработчика.
Как выбрать идею и поставить задачу Claude Code
Начинайте не с фразы «сделай мне приложение», а с короткого технического задания. Опишите, кто пользуется сервисом, какую проблему решает, какие действия доступны, какие данные хранятся и что считается готовым результатом. Отдельно перечислите ограничения. Например, запретите хранить пароли самостоятельно, потребуйте проверять входные данные на сервере и не помещать секретные ключи в код.
Пример: «Создай приложение для учёта личных расходов. Пользователь регистрируется, добавляет расход с суммой, датой и категорией, видит операции и итог за месяц. Сначала предложи архитектуру, структуру базы данных и план работ. Ничего не меняй, пока я не одобрю план».
В Claude Code есть режим планирования, при котором программа читает проект и предлагает последовательность действий, но не меняет файлы до подтверждения. Для постоянных правил можно завести CLAUDE.md с командами запуска и тестов, архитектурными решениями и правилами проекта. Anthropic советует писать такие инструкции коротко и конкретно.
Разработку делите на небольшие законченные шаги. Сначала каркас и один экран, затем структура данных, добавление и удаление записей, авторизация, отчёт и обработка ошибок. После каждого шага просите Claude запустить проверки и перечислить изменённые файлы. Если сразу поручить весь продукт, становится труднее понять, где появилась ошибка.
Claude Code работает с Git, умеет создавать ветки и фиксировать изменения. Контроль версий позволяет сохранить рабочее состояние проекта и вернуться назад, если следующая правка всё сломает. Не принимайте крупное изменение, если Claude не может коротко объяснить его смысл.
Пошаговый пример приложения с Claude
Возьмём сервис учёта домашних расходов. На первом этапе сделайте страницу со списком операций и форму добавления записи. Данные временно можно хранить локально. Цель – проверить поля формы и основную логику без регистрации и сервера.
Реализуй только первый этап. Создай страницу со списком расходов и форму добавления записи. Пока не подключай регистрацию, сервер и внешние службы. Данные храни локально. После завершения запусти проект, проверь основные сценарии и перечисли изменённые файлы. Если пришлось принять решение, которого нет в требованиях, отдельно сообщи о нём.
После рабочего макета попросите Claude спроектировать базу данных. Для простого сервиса достаточно пользователя, операции и категории. Затем добавьте серверные методы чтения и записи. Отдельно задайте правило: пользователь видит и меняет только собственные записи. Интерфейс может выглядеть исправным даже при ошибке в проверке прав, поэтому контроль доступа нельзя оценивать глазами.
Теперь спроектируй хранение данных. Нужны пользователи, расходы и категории. Сначала покажи предлагаемую структуру таблиц, связи и ограничения, но не меняй проект. Учти, что каждый пользователь должен видеть и изменять только собственные расходы. Объясни, где и как будет проверяться право на чтение, изменение и удаление записи. После моего подтверждения реализуй схему.
Следом подключите регистрацию и вход. Секретные ключи должны находиться в переменных окружения, а не в репозитории. Попросите Claude перечислить секретные значения и файлы, которые Git не должен сохранять. Рабочие ключи не стоит вставлять прямо в запрос модели.
Добавь регистрацию и вход. Не создавай собственный механизм хранения паролей, если можно применить проверенное решение выбранной платформы. Не записывай пароли, ключи и другие секреты в исходный код или репозиторий. Используй переменные окружения. В конце перечисли переменные, которые мне нужно настроить самостоятельно, но не придумывай для них настоящие секретные значения.
Внешний программный интерфейс подключайте позже. Сервис расходов, например, может получать курс валют. Сначала выясните формат ответа и поведение при сбое. Нужны ограничение времени ожидания, обработка ошибки и понятное сообщение пользователю. Если Claude Code получает доступ к внешним инструментам через MCP, Anthropic рекомендует подключать только доверенные серверы из-за риска вредоносных инструкций во внешнем содержимом.
Подключи получение курса валют из внешней службы. Сначала изучи её официальную документацию и покажи, какие запросы приложение будет отправлять. Предусмотри ограничение времени ожидания, неправильный ответ, недоступность службы и превышение допустимого числа запросов. Сбой внешней службы не должен ломать остальную часть приложения. Не записывай ключ службы в исходный код.
Когда функции готовы, попросите Claude написать тесты для добавления, редактирования и удаления расходов, прав доступа, неправильных данных и отказа внешней службы. Затем попросите найти непроверенные сценарии. Claude Code умеет запускать тесты и исправлять ошибки, но успешный результат подтверждает только случаи, которые действительно описаны в тестах.
Не изменяй функции приложения. Составь набор тестов для текущей версии и найди сценарии, которые мы ещё не проверяли. Обязательно проверь пустые и неправильные значения, очень большие суммы, изменение и удаление записей, попытку одного пользователя получить данные другого и недоступность внешней службы. Запусти тесты и раздели результат на успешно пройденные проверки и найденные проблемы. Не исправляй проблемы, пока не покажешь мне список.
Проверьте приложение вручную. Создайте двух пользователей, добавьте разные записи, попробуйте открыть чужие данные, отправьте пустую форму и неожиданное значение суммы. Перезапустите приложение и убедитесь, что данные сохранились.
Что проверить перед публикацией и где Claude недостаточно
Главная ловушка вайб-кодинга появляется в момент, когда приложение «уже работает». Под готовой страницей могут скрываться лишние зависимости, секреты в репозитории, ошибки прав доступа и ненужные функции. Поэтому финальный запрос лучше формулировать как проверку по конкретным пунктам, а не как просьбу «улучшить проект».
Перед публикацией проверьте сборку в чистом окружении, тесты, секреты, права к базе данных, серверную проверку входных значений, сообщения об ошибках, резервные копии и сторонние библиотеки. Удалите демонстрационные учётные записи и временные ключи. Посмотрите лицензии зависимостей и правила внешних служб.
В Claude Code есть команда /security-review для поиска распространённых проблем, включая SQL-инъекции, межсайтовое выполнение сценариев, ошибки авторизации, небезопасную обработку данных и уязвимые зависимости. Anthropic прямо пишет, что автоматическая проверка дополняет, но не заменяет ручной просмотр кода. Система разрешений и изоляция команд тоже снижают риск, однако пользователь отвечает за действия, которые разрешает агенту.
Claude разумно поручать каркас проекта, типовые формы, преобразование данных, тесты, документацию и локальные исправления. Человек должен контролировать архитектуру, права доступа, работу с деньгами и персональными данными, секреты, зависимости, резервное копирование и публикацию.
Считай, что приложение готовится к публикации. Не добавляй новые возможности и не меняй внешний вид. Проверь проект как ревьюер. Ищи ошибки авторизации и разграничения прав, утечки секретов, небезопасную обработку пользовательских данных, уязвимые или лишние зависимости, отсутствие проверки входных данных, необработанные ошибки и риск потери данных.
Для каждой найденной проблемы укажи файл и участок кода, возможные последствия, уровень риска и способ исправления. Не исправляй код автоматически. Если какой-либо пункт нельзя надёжно проверить по исходному коду, прямо напиши, что требуется ручная проверка.
Проверь изменения, сделанные после последней рабочей версии. Не переписывай код. Покажи, какие файлы изменились, какие функции затронуты, появились ли новые зависимости и секреты, какие тесты были запущены и что осталось непроверенным. Отдельно перечисли изменения, которые могут повлиять на безопасность или сохранность пользовательских данных.
Заключение
Для первого проекта выберите небольшую задачу, зафиксируйте требования, сначала согласуйте план, затем стройте приложение короткими этапами и сохраняйте рабочие версии. Тестируйте обычные действия, ошибки, чужие данные и отказ внешних служб. Публикуйте продукт только после отдельной проверки безопасности и зависимостей.
При работе с персональными данными, платежами и пользовательским содержимым соблюдайте требования законодательства РФ и правила выбранных платформ. Для проектов с чувствительными данными или существенным риском привлеките разработчика и специалиста по информационной безопасности.