Skip to content

Local to Gitpod "Onboarding Wizard" #9296

@loujaybee

Description

@loujaybee
Member

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:

  1. 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):

  1. Allow a user to open a gitpod workspace from an existing desktop repo gitpod open .
  2. Facilitating the download of JetBrains Gateway app / VS Code Desktop plugin download / Local Companion download
  3. Setup settings sync for VS Code (if the user wants)
  4. Auto detecting and assisting in migrating existing dotfiles from the current machine (shell aliases, etc)
  5. Support the creation of the Dockerfile (inference)
  6. 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

loujaybee commented on Aug 30, 2022

@loujaybee
MemberAuthor

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

stale commented on Dec 3, 2022

@stale

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.

added
meta: staleThis issue/PR is stale and will be closed soon
on Dec 3, 2022
added and removed
meta: staleThis issue/PR is stale and will be closed soon
on Dec 3, 2022
Siddhant-K-code

Siddhant-K-code commented on Dec 3, 2022

@Siddhant-K-code
Member

/never-stale

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @loujaybee@Siddhant-K-code

        Issue actions

          Local to Gitpod "Onboarding Wizard" · Issue #9296 · gitpod-io/gitpod