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 7b6dae2bf0 Fix lua symbols.map to export init %!s(int64=11) %!d(string=hai) anos
bin d165c116f3 Read-only socket for konfd %!s(int64=11) %!d(string=hai) anos
clish 0db777324b Change plugin API %!s(int64=11) %!d(string=hai) anos
contrib d32755628a Debian: Add debian text to contrib/README %!s(int64=12) %!d(string=hai) anos
debian 99b81c886a Debian: Fix some lintian bugs %!s(int64=12) %!d(string=hai) anos
examples 9140156b88 Fix plugin examples to new API %!s(int64=11) %!d(string=hai) anos
konf d165c116f3 Read-only socket for konfd %!s(int64=11) %!d(string=hai) anos
lub 015ced0901 Add prototype for lub_ini_parse_str() %!s(int64=11) %!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 7b6dae2bf0 Fix lua symbols.map to export init %!s(int64=11) %!d(string=hai) anos
tinyrl adfdf9923a Write to buffer while ^U %!s(int64=11) %!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 0db777324b Change plugin API %!s(int64=11) %!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 d06edf77b9 Add soname %!s(int64=11) %!d(string=hai) anos
README 4632c1a5b8 Remove legacy information from README %!s(int64=12) %!d(string=hai) anos
autogen.sh 8cdf6d307a Create m4 dir within autogen.sh script %!s(int64=12) %!d(string=hai) anos
clish.xsd 0db777324b Change plugin API %!s(int64=11) %!d(string=hai) anos
configure.ac 0db777324b Change plugin API %!s(int64=11) %!d(string=hai) anos

README

See the http://klish.googlecode.com page for information about klish.