The klish is a framework for implementing a CISCO-like CLI on a UNIX systems. It is configurable by XML files.
https://src.libcode.org/download/klish/

Serj Kalichev 30aa135075 Minor fixes in process_param() %!s(int64=10) %!d(string=hai) anos
bin 906e3d0f65 Move plugin_load/link to clish_shell_prepare() %!s(int64=10) %!d(string=hai) anos
clish 30aa135075 Minor fixes in process_param() %!s(int64=10) %!d(string=hai) anos
contrib 73b80a56e5 Fix buildroot's packet libroxml dependency %!s(int64=10) %!d(string=hai) anos
debian 99b81c886a Debian: Fix some lintian bugs %!s(int64=12) %!d(string=hai) anos
doc 3302391928 Anchors for all tag attributes in doc %!s(int64=10) %!d(string=hai) anos
examples 9140156b88 Fix plugin examples to new API %!s(int64=11) %!d(string=hai) anos
konf df7071db52 FD_CLOEXEC for konfd socket %!s(int64=10) %!d(string=hai) anos
libc 1a733d2882 Add internal getopt implamentation. BSD version %!s(int64=11) %!d(string=hai) anos
lub 0235baf808 Don't ignore first slash in param %!s(int64=10) %!d(string=hai) anos
m4 cb8ca83a07 Fix ax_lua.m4 so that it skips the header version checks and assumes they're ok when cross-compiling. Use ax_lua.m4's facilities to locate Lua libs and headers %!s(int64=11) %!d(string=hai) anos
plugins 56d4cf483a Don't use bool_t for hooks. Log hook returns 0 on success %!s(int64=10) %!d(string=hai) anos
tinyrl 8abc9c3375 Minor changes %!s(int64=10) %!d(string=hai) anos
xml-examples a010cf7752 Use the new INI-like parser to get Lua scripts dir from XML %!s(int64=11) %!d(string=hai) anos
.gitignore ab7884db54 Add cov-int and tgz to gitignore %!s(int64=10) %!d(string=hai) anos
CHANGES cc624ef42c Redirect readers of CHANGES and ISSUES to the actual web pages %!s(int64=12) %!d(string=hai) anos
ChangeLog edce0a7c8e Adding Debian package required files %!s(int64=12) %!d(string=hai) anos
ISSUES cc624ef42c Redirect readers of CHANGES and ISSUES to the actual web pages %!s(int64=12) %!d(string=hai) anos
LICENCE b81ff592c3 From: Emmanuel Deloget <logout@free.fr> %!s(int64=12) %!d(string=hai) anos
Makefile.am 11fb6c929f Add doc dir with unfinished markdown docs %!s(int64=10) %!d(string=hai) anos
README d6b38708f3 Fix README %!s(int64=10) %!d(string=hai) anos
autogen.sh 8cdf6d307a Create m4 dir within autogen.sh script %!s(int64=12) %!d(string=hai) anos
clish.xsd 6a541da0f3 Add access for PARAM %!s(int64=10) %!d(string=hai) anos
configure.ac 97b941612c Don't use -lz for libxml2 checking %!s(int64=10) %!d(string=hai) anos

README

Homepage : http://klish.libcode.org.

Additional documentation : http://klish.googlecode.com

Repository : https://src.libcode.org/klish