Remote Development MVC • Minimal maturity
## Problem to solve Developers want to be able to connect to a cloud-based runtime from the Web IDE to extend the functionality and get direct access to a live terminal. The current Web IDE and the upcoming implementation based on VS Code lack the ability to compile code or perform runtime tasks. Desktop IDEs support this workflow already, for example, VS Code users can install the Remote Development - SSH extension and configure their IDE to use a remote workspace. Our goal for the Remote Development MVC is to provide a mechanism within the Web IDE for you to establish a secure connection to a manually-configured remote environment hosted on a cloud platform of your choice. ## Scope of the MVC (minimal) release ### What are we building? 1. **Full git workflow:** The new Web IDE is capable of tracking changes to the file system and committing them to the active branch. 2. **Connect to a Remote Development Environment from the Web IDE:** extending our proof of concept to allow for configuration to happen inside the Web IDE resulting in an active terminal panel. 3. **GitLab branding:** Minimal additions to the VS Code UI and a default color theme will make the Web IDE feel more consistent with GitLab branding and integrated into the single platform. 4. **Switch between legacy and new Web IDE:** We will offer a way to switch back to the "legacy" Web IDE, limiting the potential for negative impacts to someone's workflow while we are in beta. 5. **Default VS Code functionality:** By default, VS Code offers nearly all the core functionality of the existing Web IDE. ### What are we **_not_** building (yet)? 1. **Extensions:** We will indicate in the UI that extensions will be available in a later iteration. 2. **Cross-project search:** The default behavior of search already in production is limited to searching across open files. We will inform people of this limitation in the UI and documentation. 3. **GitLab Workflow extension:** The extension will not be bundled with the Web IDE yet. 4. **Live Preview and Web Terminal:** Neither feature will be ported over to the new Web IDE. 5. **Configuration and orchestration of a remote environment:** This MVC requires the remote environment to be managed entirely outside of GitLab. ## Availability Our MVC will be available to everyone, as part of ~"GitLab Free" ### Internal Alpha An [internal alpha release](https://gitlab.com/groups/gitlab-org/-/epics/8880 "α Remote Development • Internal Alpha") will provide us with an opportunity to get early feedback from the GitLab team on the performance, stability, and usability of the new Web IDE while we finalize the custom source control functionality. **Why not make the alpha release public?** While a public alpha provides access to the Remote Development feature sooner, the lack of support for the git workflow limits you to a read-only experience and feedback on that experience won't be very actionable or relevant to later iterations. Additional justification for making the first release internal can be found in https://gitlab.com/gitlab-org/gitlab/-/issues/381485 ### Public Beta Once we support an end-to-end workflow where you can make changes to a file and commit those to a branch, we will make the new Web IDE and the Remote Development MVC available to **everyone** in a [public beta release](https://gitlab.com/groups/gitlab-org/-/epics/9148 "β Remote Development • Public Beta release").
epic