~/VibeHandbook

Платформы

github.com

GitHub Codespaces

Что это

GitHub Codespaces даёт вам полноценную среду разработки, работающую в облаке и запускаемую прямо из репозитория. Вместо установки языков, инструментов и зависимостей на собственную машину вы открываете Codespace и получаете готовую к работе среду — обычно VS Code в браузере или подключённый с вашего рабочего стола — с уже настроенным проектом. Среда описана в вашем репозитории (конфиг dev container), так что каждый получает одинаковую настройку за секунды.

Сильные стороны

  • Никакой локальной настройки — откройте репозиторий и начинайте писать код в полностью сконфигурированной среде.
  • Согласованные, воспроизводимые среды, описанные в коде (devcontainer.json).
  • Поднимайте свежую одноразовую машину под каждую ветку или задачу, а потом выбрасывайте её.
  • Работает из браузера или подключённого десктопного редактора; пригодно для слабого устройства.
  • Онбординг почти мгновенный — новые контрибьюторы пропускают день «установи всё подряд».

Компромиссы

  • Тарифицируется: вычисления и хранилище стоят денег сверх бесплатной месячной квоты.
  • Нужно надёжное интернет-соединение; это не офлайн-процесс.
  • Тяжёлый или специализированный локальный инструментарий (GPU, отдельные нативные зависимости) может плохо вписаться.
  • Вы зависите от размещённой среды, а не владеете собственной локальной настройкой.

Лучше всего подходит для

Быстрого входа в проект без локальной настройки, предоставления каждому контрибьютору идентичной среды и запуска одноразовых рабочих пространств под каждую задачу — особенно полезно для онбординга, быстрых экспериментов или работы с ограниченной машины.

Совместимость с vibe coding

Codespaces — чистая сцена для vibe coding, потому что среда одноразовая и воспроизводимая: агент может свободно устанавливать, собирать и запускать что угодно, и если он устроит беспорядок, вы просто отбросите Codespace и начнёте заново. Опишите настройку в devcontainer.json, чтобы агент — и вы — всегда оказывались в одной и той же сконфигурированной среде. Совет: попросите агента держать конфиг dev container в репозитории и объяснять, что он добавляет, чтобы ваше «работает на моей машине» означало одну и ту же машину для всех.

// .devcontainer/devcontainer.json
{
  "name": "vibe-project",
  "image": "mcr.microsoft.com/devcontainers/javascript-node:20",
  "postCreateCommand": "npm install",
  "forwardPorts": [3000]
}