Initial post-signup flow
- Truncate descriptions
Created by: quinnkeast
Background
As part of the private code for Cloud launch, we want to implement a new post-signup flow that will help users to connect with code hosts and add repositories as a first step immediately after signing up, but before they perform their first search. If we do this, then we will immediately be able to provide a more intuitive first search experience, because users will be able to search and experiment with code they're familiar with and care about, and in the long term, we will be able to use the user's own code as the basis for product / search education.
The complete post-signup flow involves three steps:
- Connect with code hosts
- Add repositories
- (Repositories are cloned to Sourcegraph) Start searching
The initial post-signup flow that we want to implement for the launch includes 1 & 2.
1. Connect with code hosts

This re-uses the existing code host connections UI. Full details in the Figma file.
2. Add repositories

This re-uses the existing "Manage repositories" UI. Full details in the Figma file.
3. (Repositories are cloned to Sourcegraph) Start searching
The original plan for this step involves a blocking "terminal" UI that visually shows the clone progress and completion. Since cloning may have an unpredictable and potentially long length, this UI gives us perceptual leeway for a longer wait time.
However, this original plan is a stretch goal and has been separated into #20300. For the initial post-signup flow, we will not implement this, but we must still gracefully handle the delay in cloning repositories. I suggest:
- Retain all three "funnel progress" steps in the indicator – including the
3. Start searching
step. - Re-use the "blocking" save button from the existing "Manage repositories" UI, which updates its label as time goes on to reflect that changes are still happening.
- Redirect from the "2. Add repositories" step to the search home when the clone is complete.
Feedback appreciated on this plan!
@artemruts can you break down what needs to be done to implement this so we can plan ahead on the roadmap?

