Add "loading terminal" to post-signup flow
Created by: quinnkeast
Background
As part of the private code for Cloud launch, we're implementing 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 initial implementation for the post-signup flow is covered in #20299.
The third step of the post-signup flow is a "terminal" UI to show cloning progress.

Cloning is a necessary step before users can search their code. We want to make the cloning step blocking until the cloning is complete, but we have to maintain a positive experience. The "terminal" UI is our solution to show progress: unlike a spinner or progress bar, it supports a much longer wait time literally and perceptually. Users won’t think it’s stuck, because the progress is detailed and right there. It’s a familiar environment where users are used to things taking time, so it gives us more leeway for things to take a while. And it also grounds the flow into a development brand identity: this is a tool for developers.
As an extra bonus, it lets it bring a moment of delight from the self-hosted install by showing the ascii asterisk when cloning is complete:

If the cloning process takes too long, we can show an escape route:

Open questions
This is a stretch goal, and we have open questions around implementation to figure out how we can achieve the maximum impact here with minimum effort. Some specific questions:
- What should we show in the "terminal" to reflect progress? What's available to us already?
- @artemruts can you add more?