A codespace is a development environment that's hosted in the cloud. You can customize your project for Codespaces by committing configuration files to your repository (often known as Configuration-as-Code), which creates a repeatable codespace configuration for all users of your project.
Codespaces run on a variety of VM-based compute options hosted by GitHub.com, which you can configure from 2 core machines up to 32 core machines. You can connect to your codespaces from the browser or locally using Visual Studio Code.
You can create a codespace from any branch or commit in your repository and begin developing using cloud-based compute resources. To get started with Codespaces, see "Quickstart for Codespaces." To learn more about how Codespaces works, see "Deep dive into Codespaces."
To customize the runtimes and tools in your codespace, you can create a custom configuration to define an environment (or dev container) that is specific for your repository. Using a dev container allows you to specify a Docker environment for development with a well-defined tool and runtime stack that can reference an image, Dockerfile, or docker-compose. This means that anyone using the repository will have the same tools available to them when they create a codespace.
If you don't do any custom configuration, Codespaces will clone your repository into an environment with the default codespace image that includes many tools, languages, and runtime environments. For more information, see "Introduction to dev containers".
You can also personalize aspects of your codespace environment by using a public dotfiles repository and Settings Sync. Personalization can include shell preferences, additional tools, editor settings, and VS Code extensions. For more information, see "Customizing your codespace".
For information on pricing, storage, and usage for Codespaces, see "Managing billing for Codespaces."
Note: You must set a spending limit before you can use Codespaces.
By default, your organization or enterprise will have a Codespaces spending limit of $0, which prevents new codespaces from being created or existing codespaces from being opened. To allow your users to create codespaces in your organization, set the limit to a value higher than $0. For information on how organizations owners and billing managers can manage the spending limit for Codespaces for an organization, see "Managing your spending limit for Codespaces."