From previous experience with the heavy spring-shell (8mb spring files and long starting time) from my Tinbo project, I decided to write a minimal kotlin based shell framework which leverages all the features spring-shell has but with minimal footprint. So ksh was born as a fast prototype in 2017. But only until the second half of 2018 it had the minimal features I wanted to call it finally a ‘framework’ :).
It is based on jline and uses the ServiceLoader pattern to be extensible.
Here is another screenshot of an application which implements custom ksh-commands to start code analysis. It also shows the tab completion feature nicely :).