If you're being rigorous, a "CLI" app is a program that one interacts with entirely from a shell command line. One types the command and any options in (normally) a single line in bash or similar. One hits enter, the program runs, and then terminates.
On a Linux system, a common example would be ls.
Some terminal programs, often those that use the curses/ncurses library, are run, but then one can also interact with them in other ways. This broader class of programs is often called something like "terminal-based" "console-based", or "text-based`, and called "TUI" programs. One might press keys to interact with them while they run, but it wouldn't necessarily be at a command line. They might have menu-based interfaces, or use various other interfaces.
On a Linux system, some common examples might be nano, mc, nmtui or top.
nmtui and nmcli are actually a good example of the split. nmcli is a client for Network Manager that takes some parameters, runs, prints some output, and terminates. nmtui runs in a terminal as well, but one uses it theough a series of menus.