gitpod-io / gitpod-io/gitpod

Local to Gitpod "Onboarding Wizard"

Open
#9,296 3 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

component: local app feature: gp validate meta: never-stale team: IDE
Dominant language
TypeScript
Stars
13.8k
Forks
1.4k
Avg merge
17h 58m
Merged PRs (30d)
5

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:

  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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by locating the desktop CLI and existing configuration-inference flows, then define the wizard scope and user decisions it must support; done would require a working local-to-Gitpod onboarding experience covering the listed migration steps.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell, typescript, vscode
Domain
cli, desktop, developer-experience, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.