-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
Context
Remote development has many benefits, but it's also quite different for many developers who are very used to their current setup, workflows and configurations. Gitpod is intended to be "ready to code", but when you first start using it, you have a lot of things to configure, things like: dot files, Dockerfile, .gitpod.yml
, VS Code extensions, gitpod CLI, if you're JetBrains user, you need to download JetBrains Gateway, if VS Code desktop you have to find / figure out how that works etc.
We already do some things to ease the burden here, such as: making inferences at configurations for the YAML file based on the project, however these don't cover all of the (aforementioned) things that a user needs to figure out and configure. Users should be able to experience the benefits of remote development, ephemeral etc without having to re-wire their brain (and all of their workflows) to how Gitpod works to reach the "ah-ha" moment. For example, switching from coding locally on VS Code Desktop and moving to Gitpod should be as instantaneous as possible.
Examples/use-cases:
- Feedback from user who didn't discover VS Code Settings Sync [1]
Proposal
The proposal is to build an experience which walks a user through the process of migrating from their existing local flow into Gitpod, automating (and inferring) as many of the steps as possible. This could include (but not be limited to):
- Allow a user to open a gitpod workspace from an existing desktop repo
gitpod open .
- Facilitating the download of JetBrains Gateway app / VS Code Desktop plugin download / Local Companion download
- Setup settings sync for VS Code (if the user wants)
- Auto detecting and assisting in migrating existing dotfiles from the current machine (shell aliases, etc)
- Support the creation of the
Dockerfile
(inference) - Support for creation of the
.gitpod.yml
(inference)
This would be implemented, ideally, as part of the desktop CLI as a either a terminal-based wizard or a GUI walkthrough (this might make most sense as much of this configuration is already "on the users machine"). But could theoretically also be walked through in the browser (either as part of this work, or in future work).
gitpod start .
⚠️ GitHub repository detected `example-user/whatever`
Would you like to start a workspace based on your current repo, and its contents?
> Yes
> No
Create new repo with contents of current directory?
> Yes
> No
What IDE/editor would you like to use?
> IntelliJ
> VS Code Desktop
> VS Code Browser
Would you like to set this as a global default?
> Yes
> No
Do you want to setup VS Code settings sync?
> Yes
> No
Do you have an existing dotfiles repo?
> Yes
> No
What shell do you use?
> Bash
> zsh
Would you like to create a github repo, and sync your current shell aliases to a dotfile?
> Yes
> No
Would you like to sync any local environment variables to Gitpod?
> Yes
> No
Which ENV variables would you like to sync?
> GITPOD_TOKEN
> NPM_TOKEN
Activity
loujaybee commentedon Aug 30, 2022
Adding a note here, as @Siddhant-K-code noted that Codespaces has some similar functionality for allowing a user to create a devcontainer configuration file using VS Code command palette actions. Worth factoring in that behaviour and how that functionality works if we move forward with this feature / idea.
stale commentedon Dec 3, 2022
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Siddhant-K-code commentedon Dec 3, 2022
/never-stale