If you do it right, you can output plain text when stdout is not a tty - which is something fang does, fwiw :)
It still tries to put the terminal in raw mode or something. "cmd | less" doesn't work and requires "stty sane". I didn't investigate, but FYI.
A lot of the fancy CLIs I use have a `--json` option that gives the user the chance to pipe output to eg jq and process it there. I find that a good alternative to running stuff through cut, sed or awk before processing.