GitHub Codespaces — облачная среда разработки, интегрированная с платформой управления исходным кодом GitHub. Она предоставляет преднастроенные контейнерные или виртуализованные рабочие пространства, которые запускаются на серверах в облаке и доступны разработчикам через веб-интерфейс или поддерживаемые интегрированные среды разработки. Основная цель сервиса — сократить время на настройку локального окружения, упростить воспроизводимость конфигураций и обеспечить быстрый доступ к проекту с любого устройства.
Среда основана на использовании образов и конфигурационных файлов, которые определяют набор инструментов, версий языков, зависимостей и расширений редактора. Пользователь может запускать удалённый экземпляр, подключаться к нему через браузер или по протоколу удалённого редактора, выполнять сборку, тестирование и отладку кода в изолированной среде. Архитектурно рабочие пространства реализуются как контейнеры или виртуальные машины, управляемые платформой, с возможностью масштабирования и управления жизненным циклом по запросу.
- Преднастроенные окружения: возможность описывать конфигурацию среды с помощью файлов, включающих зависимости, инструменты и настройки редактора.
 - Доступ через браузер и IDE: удалённый доступ к рабочему пространству через веб-интерфейс и совместимые редакторы, что позволяет работать без локальной установки инструментов.
 - Изоляция и воспроизводимость: контейнерная или виртуальная изоляция сред обеспечивает консистентность окружений между участниками команды.
 - Интеграция с системой контроля версий: непосредственная работа с репозиториями, ветками и запросами на изменение в рамках одной платформы.
 - Масштабируемость и управление ресурсами: запуск и завершение экземпляров по требованию, опции выделения процессорных и оперативных ресурсов для рабочих пространств.
 - Поддержка расширений и настроек редактора: возможность использования расширений и пользовательских настроек для улучшения процесса разработки.
 - Сценарии использования: быстрое начало работы над проектом, проведение кода-ревью с воспроизводимым окружением, обучение и демонстрации, CI-подобные проверки в изолированной среде.
 - Управление жизненным циклом: функции сохранения состояния, паузы и возобновления рабочих пространств для экономии ресурсов и удобства работы.
 - Безопасность и права доступа: интеграция с механизмами управления доступом репозиториев и политиками организации для контроля прав пользователей.
 - Автоматизация конфигурации: использование инфраструктурных описаний для автоматического создания сред в соответствии с требованиями проекта.