Skip to content
Daniele Pallastrelli edited this page Mar 2, 2019 · 17 revisions

Welcome to the cli wiki!

In this page there are some random notes about the library. The target are mainly the contributors. Eventually, some of these thoughts will end up into the CONTRIBUTING.md file.

Goals (and non goals)

  • The library goal is to provide an interactive command line to C++ programs (in particular to asynchronous programs). The behaviour of the CLI provided should be as similar as possible to bash as for as history and autocompletion. One of the more useful feature for servers and embedded software is the telnet server, i.e., its capability to provide a cli through a tcp port, so that a remote user can open a telnet client (or netcat) and interact with the cli. Moreover, we try to keep the menu structure as flexible as possible.
  • I started this library out of a specific need of mine, after searching in vain for something similar. After developing it, I though it would be nice to share it with other developers that might need it. I wrote this library out of a specific need, and not to show off my C++/design/other skills. Please, remember this before writing a comment, open an issue or doing a pull request.
  • The library must remain compilable with every c++14 compliant compiler. This is because many projects already using the library are constrained to old compilers. For this reason, I can’t accept pull requests exploiting C++ features newer than C++14 standard. The same applies if you rewrite any C++17 features and include it in the library: unless this is the only way to implement a very useful feature of cli library, I won’t accept the pull request.
  • TODO ...

Other

  • I’d like to publish a list of projects using the library, maybe on a page of this wiki or — in the future — in the library website (if the library will ever have one). So, I invite every user of the library who wants its project to be inserted int the list, to contact me via twitter at @DPallastrelli or through the github issue tracker.
  • In general, to have updates about the library you should follow my twitter account @DPallastrelli
Clone this wiki locally