The first 4 images below (# 2 is also animated in the link) are examples of CLI. The fifth image is an image of Heroku's records. The last image is what you used to see in the programs that you install from the command line. Basically a lot of record output without a lot of UX.
I wonder what is the ideal user experience for a CLI, specifically when it is performing an action invoked by the user. For example,
brew install x will install something with homebrew (first image) and will provide brief status updates and progress bars along the way. So
node example.js In the second image, some operations will be traversed while maintaining a line (while homebrew passes through many lines). The others have less structure, showing the output of the record in a pretty sequence, formatting it well whenever possible.
The question is, however, what is the ideal user experience. Taking into account the following. If you must show timestamps of the actions that occurred (as Heroku's records do, but maybe that kind of record is something different from the experience of the CLI's introduction tool) If it should be printed verbose exit somewhere (as in a separate file, or on the screen in some way), basically all the details of debugging. Or if you should hide practically everything (# 2) and simply give it current status titles, such as "Loading x". Or an intermediate point like (# 1) with status updates that are also recorded in the transmission. I'm not sure how to think about this.