libecoli stands for Extensible COmmand LIne library.
This library provides helpers to build interactive command line interfaces.
- Complex interactive command line interfaces in C (e.g.: a router CLI).
- Application arguments parsing, natively supporting bash completion.
- Generic parsers.
- Dynamic completion.
- Contextual help.
- Integrated with libedit, but can use any readline-like library.
- Modular: the cli behavior is defined through an assembly of basic nodes.
- Extensible: the user can write its own nodes to provide specific features.
- C API.
See architecture.md.
libecoli uses the Open Source BSD-3-Clause license. The full license text can be found in LICENSE.
libecoli makes use of Unique License Identifiers, as defined by the SPDX project (https://spdx.org/):
- it avoids including large license headers in all files
- it ensures licence consistency between all files
- it improves automated detection of licences
The SPDX tag should be placed in the first line of the file when possible, or on the second line (e.g.: shell scripts).