Awesome
Tea
Tea provides an Elm inspired functional framework for interactive command-line programs. Works great for inline and full-screen interactivity.
Examples
See the examples directory.
Sponsors
This project is sponsored by CTO.ai, making it easy for development teams to create and share workflow automations without leaving the command line.
And my GitHub sponsors:
<img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/0" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/1" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/2" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/3" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/4" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/5" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/6" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/7" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/8" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/9" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/10" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/11" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/12" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/13" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/14" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/15" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/16" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/17" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/18" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/19" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/20" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/21" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/22" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/23" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/24" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/25" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/26" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/27" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/28" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/29" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/30" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/31" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/32" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/33" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/34" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/35" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/36" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/37" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/38" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/39" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/40" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/41" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/42" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/43" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/44" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/45" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/46" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/47" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/48" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/49" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/50" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/51" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/52" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/53" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/54" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/55" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/56" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/57" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/58" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/59" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/60" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/61" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/62" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/63" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/64" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/65" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/66" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/67" width="35"> <img src="https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/avatar/68" width="35">