Can anyone explain to me the difference between terminal apps, CLI, CLT and Prompt? I wish to understand at a conceptual level, the difference between a terminal app, Command Line Interface (CLI), Command Line Tools (CLT) and Prompt. I am confused as to what the difference is between them?
The thing that threw me off was realizing that Apple does not ship macOS with CLT (Command Line Tools) pre-installed, and I have to download and install it separately. Doesn't that mean that Terminal.app is useless unless I download the CLT?
I am using zsh as my shell running on macOS Catalina 10.15.6.
Clarification
My confusion is stemming from Xcode CLT. I don't understand what a CLT is?

Is Xcode CLT a compiler? And if it is built into macOS, why do I need to download Xcode's CLT?

Why do I need an app like Terminal.app to access the CLI. Isn't the CLI an interface to begin with?

Does Homebrew (which is a package manager) considered a CLT that has its own CLI that I interact with using Terminal?


I can't seem to wrap my head around these concepts and the connection between them.
CLI (Command Line Interface) is a general description of an interface that you interact with by typing commands. On the Mac your primary CLI is Terminal.app. On Windows it is PowerShell or Command Prompt. On the old Amiga OS it is simply called &quot;CLI&quot;.
Terminal is the program or application (&quot;app&quot;) that is used to access the Command Line Interface. On macOS terminal is located in the /Applications/Utility folder and called Terminal.app. There are alternate terminal applications (on macOS and Linux/Unix) that provide other features in the same way that Apple's Pages app offers word processing features presented in and implemented in different way that Microsoft Word.
Command Line Tools Are indeed shipped with and easily accessible in macOS using the Terminal.app. Since macOS is based (originally) on the Berkeley Standard Distribution Unix (usually called BSD Unix, or just BSD), it comes with (pretty much) the standard suite of Unix command line tools. This will be similar (with some significant differences) to the command line tools shipped with most Linux distributions.
Shell Though you did not mention this it is important to understand that macOS (and many Unix and Linux distributions) ship with a number of shell programs. Until recently macOS shipped with BASH as the default shell, more recently changed to ZSH, though BASH is still available. The differences in shells are subtle (to casual users) but define, in (slightly) different ways, the environment we use to run the command line tools. For most people the actual shell you use is unimportant. For programmers and system administrators the shell they use is vitally important to provide a customizable environment suitable to their specific needs.
Prompt is the character or characters that the shell presents in the terminal.app to indicate it is waiting for input. EG it is prompting you to type something. I have modified my prompt from the default so yours will look different than mine (below) where the prompt character is %:

TDLR
You have the command line tools built-into macOS. They are accessed using the Terminal.app (that then uses the ZSH shell).
You can download other standard Unix versions of these commands if the current ones don't do the job you want, the way you want them to, or are just plain missing. One of the more popular repositories of open source commands is Homebrew.
Homebrew is by no means necessary to the functioning of macOS but depending on your needs and desires in an operating system, they may provide good (or just familiar) alternatives to what Apple ships with its operating systems.