Playing around with BBSes as a teen, I'm super familiar with ANSI codes. I remember being fascinated by how they worked after opening up a .ANS file to see their contents.
One of my earliest programming projects was creating my own diary app which used ANSI codes to let you format the text. It also kept track of your cursor movements and encoded them so that you could do neat things like write text anywhere on the screen or overwrite existing text.
The first version of .sigs that I ever encountered were on BBSes that allowed ANSI codes in posts. I'm not sure which BBS software it was, but on at least one it was common for people to create fairly elaborate animations, slash-spinners, character flourishes, and other backspace-driven sequences for their message signoffs.
I still play around with BBS's but I have to look stuff up - funny thing about this new post was the external link has an 'visited' property unlike most stuff that comes across my feed because apparently I've landed on this github page a few times in the recent past... useful information!
I has a load of fun when I discovered this too, but eventually realised that a good cli app has focus, sensible use of opts, a succinct -h, reliable exit codes and above all easily parsed output on stdout.
I am all about sensible options, reliable exit codes, and easily parsed output on stdout--but easily parsed output on stdout when it isn't a tty is different from what you show a person when it is a tty.
It's also fairly straightforward to strip escape codes if you need to using sed or similar[0], and there probably already exists a tool that will do just that specifically and more robustly than my example.
One of my earliest programming projects was creating my own diary app which used ANSI codes to let you format the text. It also kept track of your cursor movements and encoded them so that you could do neat things like write text anywhere on the screen or overwrite existing text.