Bolt пишет ваш проект в браузере и публикует его на собственном хостинге Bolt Cloud. Чтобы опубликовать тот же проект в Ai to App, достаточно zip-файла, который скачивает Bolt. Перед загрузкой посмотрите, к какому типу относится проект: в одном и том же чате Bolt может создать и сайт, и серверное приложение, и мобильное приложение.

Скачайте zip из Bolt

  1. Откройте проект в Bolt.
  2. Нажмите на название проекта в левом верхнем углу и выберите Download в открывшемся меню.
  3. Сохраните скачанный zip, не распаковывая его; именно этот файл вы загрузите в Ai to App.

Если вы подключили проект к GitHub, его можно также скачать из репозитория через Code → Download ZIP. Кнопка Export project first, которая появляется при удалении проекта в Bolt, тоже скачивает этот же zip.

Что происходит в зависимости от типа проекта

Распакуйте zip и посмотрите зависимости в файле package.json. По ним Ai to App определяет тип:

Что вы видите в зависимостяхВ Ai to AppЧто делаете вы
vite (по умолчанию в Bolt)Сайт. Собирается на сервере, публикуется полученная папка dist.Загрузите zip как есть.
nextСерверное приложение. Собирается командой next build, работает через next start.Загрузите zip как есть.
astroСайт. Собирается, публикуется dist.Загрузите zip как есть.
Серверные пакеты, например express, honoСерверное приложение.Скрипт start должен запускать продакшн-сервер.
expoМобильное приложение; в вебе как есть не публикуется.Выполните на компьютере npx expo export --platform web и упакуйте в zip содержимое созданной папки dist.

Перетащите zip в поле на главной странице. Предварительная проверка покажет тип и недостающее без регистрации.

Bolt Database и настройки входа

База данных Bolt остаётся в Bolt Cloud; ваше приложение подключается к ней и тогда, когда работает в Ai to App. Перенести нужно только настройки подключения и входа.

Значения подключения
В проекте с Bolt Database или Supabase адрес и ключ базы данных находятся в файле .env. Значения с префиксом VITE_ Ai to App сам передаёт в сборку; значения без префикса введите на странице «Мои приложения» в окне «Переменные окружения» на карточке приложения.
Server functions и Secrets
Server functions Bolt и секретные ключи, которые они используют, работают на стороне базы данных и в zip не попадают. Отдельно задавать их в Ai to App не нужно.
Перенаправление при входе
В Bolt нажмите на значок базы данных вверху по центру, откройте вкладку Authentication, в разделе Advanced впишите https://your-project.aitoapp.com в поле Site URL и добавьте https://your-project.aitoapp.com/** в URI allow list. Bolt обновляет эти поля только для своего адреса публикации; если их не добавить, ссылки для подтверждения и сброса пароля будут вести на localhost:3000.
Перенос базы данных в свой аккаунт
Если вы будете пользоваться приложением долго, перенесите базу данных в свой аккаунт Supabase: значок базы данных → Advanced → Claim. Для этого шага в Bolt нужен тариф Pro или Teams.

Частые проблемы

Сайт открывается, но страница пустая

Если в консоли сказано, что не хватает адреса Supabase, в zip нет .env. Скопируйте значения из файла .env в Bolt, введите их в панели и нажмите «Сохранить и опубликовать заново».

Интерфейс и сервер запускаются двумя разными командами

В Bolt скрипт dev может запускать их вместе; после публикации нужен один start. Сервер должен отдавать и собранный интерфейс; это изменение можно поручить Bolt.

Письмо с подтверждением ведёт на localhost

В Site URL всё ещё стоит значение Bolt по умолчанию. Выполните шаг «Перенаправление при входе».

Проект Expo не открывается после публикации

Мобильное приложение загружено вместе с исходным кодом. Сначала соберите веб-версию и упакуйте в zip только содержимое папки dist.

Следующие версии

Внесите изменения в Bolt, скачайте zip заново и загрузите его с карточки того же приложения. Адрес останется прежним. Публикация в Bolt Cloud и публикация в Ai to App — это отдельные копии; если хотите, чтобы обе были актуальными, публикуйте обе после каждого изменения.