Разделы документации

Документация

Настройка копии проекта

Файл .vibeforge/workspace.json: миграции, команда запуска, лишние файлы, порты и диапазон портов для копии проекта.

Копия проекта — чистый чекаут, поэтому иногда ей нужен один шаг настройки: миграции, генерация, docker. Всё это описывается файлом .vibeforge/workspace.json в корне проекта. Файл лежит в git — значит действует во всех копиях. Все поля необязательные.

{
  "setup": "npm run db:migrate && npm run seed",
  "run": "npm run dev -w @acme/web",
  "archive": "docker compose down -v",
  "copy": ["config/local.yml", "certs"],
  "copyEnv": true,
  "ports": 2,
  "portRange": [5200, 5399]
}
ПолеКогда нужно
setupОдин раз на новую копию: миграции, генерация, seed, docker. Выполняется заново, если команду поменяли
runЧем поднимать превью, если автоопределения из package.json мало. Кнопка «Запомнить для проекта» в превью пишет сюда же
archiveУборка перед удалением копии сессии и копии эпика — чтобы не висели контейнер или том
copyФайлы и папки, которых нет в git
copyEnvКопировать ли .env* автоматически (по умолчанию да)
portsСколько портов закрепить за сессией: фронт, api и так далее
portRangeИз какого диапазона брать порты, если стандартный занят

Скрипты видят VIBEFORGE_SESSION_PORT, VIBEFORGE_PORT_1…N, VIBEFORGE_WORKSPACE_PATH, VIBEFORGE_PROJECT_PATH и VIBEFORGE_SESSION_ID. Что произошло — видно в ленте; опечатка в файле не ломает старт (поле игнорируется с предупреждением), а команда из стоп-листа (sudo, rm -rf /, git push) не выполняется вовсе.

Файл, который в копии уже есть, не перезаписывается — правка агента остаётся его правкой. Права файлов сохраняются: chmod 600 останется 600. На своём сервере тот же шаг подготовки задаётся в описании машины.