Участие в разработке
Vrata готовится к публичной бете 0.1. Изменения не должны усложнять самостоятельный запуск, тестирование и откат.
Порядок работы
- Создавайте ветки от
main. - Делайте ветки короткоживущими и посвящёнными одной задаче.
- Перед слиянием открывайте pull request.
- К ревью и слиянию CI должен быть зелёным.
- Предпочитайте squash merge, если у PR нет причин сохранять отдельные коммиты.
- Выпускайте версии только из тегов SemVer, например
v0.1.0.
Перед тем как открыть PR
- Запустите
pnpm lint. - Запустите
pnpm typecheck. - Запустите
pnpm build. - Запустите
pnpm test. - Запустите
pnpm test:e2e, если меняется runtime или поведение, заметное пользователю. - Запустите
docker compose --env-file infra/docker/.env.selfhost.example -f infra/docker/compose.selfhost.yml config, если меняются файлы compose или env для самостоятельного запуска.
Что покрывают проверки
Что делает lint, определяет каждый пакет. В apps/runtime-web и lint, и typecheck сейчас запускают tsc -p tsconfig.json --noEmit: это не независимые проверки, и отдельного линтера стиля lint в этом пакете не запускает. Оставляйте обе корневые команды, пока отдельное изменение намеренно не обновит контракты пакетов.
pnpm run test:m0.5 остаётся самостоятельной командой локальной приёмки: она запускает lint, typecheck, сборку, модульные тесты, а затем браузерные тесты M0.5 в одном воркере. CI выполняет эти предварительные шаги один раз на более ранних этапах, а затем напрямую вызывает те же браузерные тесты M0.5. Ни один из браузерных наборов не удалён.
В CI Playwright отклоняет test.only и не переиспользует уже запущенный локальный сервер. Локальные запуски по-прежнему могут переиспользовать сервер разработки. Браузерные шаги CI с локальным сервером задают PLAYWRIGHT_TRACE=1, чтобы при сбое трассировки сохранялись в существующих артефактах Playwright; на staging трассировка включается только явно. Считайте трассировки потенциально конфиденциальными и не публикуйте трассировки с настоящими учётными данными.
Границы ответственности в runtime
Для локальной позы, XR-ввода, лучей взаимодействия, телепортации, рассадки по местам и публикации аватара в runtime действуют строгие правила владения. Прежде чем менять эти области, прочитайте AGENTS.md и apps/runtime-web/README.md.
Чек-лист влияния на выпуск
В каждом PR укажите, затрагивает ли он:
- настройку самостоятельного запуска;
- публичные образы;
- схему базы данных или поведение миграций;
- совместимость пакетов сцен;
- контракты комнат и API;
- развёртывание на staging;
- поведение при обновлении или откате.
Безопасность
Не добавляйте в репозиторий секреты, ассеты клиентов, закрытые ассеты сцен и закрытые учётные данные staging. Подробнее — в SECURITY.md.
Кодекс поведения
В Vrata действует простое правило для участников: говорите прямо, уважительно и по делу.
Ожидаемое поведение
- Относитесь к участникам и пользователям с уважением.
- Давайте фактическую техническую обратную связь, а не критикуйте людей.
- Исходите из добрых намерений, а разногласия решайте с помощью фактов и тестов.
- Обсуждайте то, что относится к проекту.
- Уважайте приватность и не раскрывайте личную информацию и учётные данные.
Недопустимое поведение
- Травля, угрозы, язык вражды и переход на личности.
- Публикация личной информации без разрешения.
- Систематический оффтоп, мешающий работе.
- Намеренное внесение небезопасного кода, скрытой телеметрии или утечек учётных данных.
Соблюдение правил
Мейнтейнеры могут удалять комментарии, закрывать issues, отклонять изменения и блокировать участников, нарушающих этот кодекс поведения.
Политика безопасности
Vrata готовится к публичной бете 0.1. Считайте текущий проект программой на ранней стадии и не используйте секреты разработки по умолчанию в рабочей среде.
Поддерживаемые версии
Поддержка безопасности начинается с первого публичного выпуска по SemVer.
| Версия | Поддерживается |
|---|---|
0.1.x |
Запланирована после v0.1.0 |
| Неопубликованные снимки исходников | Только по возможности |
Как сообщить об уязвимости
Не сообщайте об уязвимостях в публичных issues.
Используйте закрытые сообщения об уязвимостях GitHub (private vulnerability reporting), когда эта функция будет включена для публичного репозитория. До тех пор свяжитесь с мейнтейнерами по закрытому каналу и укажите:
- затронутый коммит или версию;
- уязвимый компонент;
- шаги воспроизведения;
- последствия;
- предлагаемые меры защиты, если они известны.
Работа с секретами
- Никогда не коммитьте настоящие секреты развёртывания.
- Перед публикацией репозитория замените любой секрет, попавший в историю git.
- Прежде чем открыть доступ к самостоятельно развёрнутой установке, замените все токены-заглушки из
.env.*.example.
Ограничения беты
Бета 0.1 — не защищённый мультитенантный SaaS-дистрибутив. Среди известных пробелов — усиленная аутентификация для рабочей среды, детальные права и полноценный эксплуатационный мониторинг.
Источник: CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md в vrata-labs/platform на ревизии 380b2e7ff1dd, лицензия Apache-2.0. GitHub