Project Structure
consolix/
|-- core/
| |-- ServiceLocator.hpp
| |-- AppComponentManager.hpp
| |-- ConsoleApplication.hpp
| |-- application_utils.hpp
| |-- service_utils.hpp
| `-- std_compat.hpp
|-- components/
| |-- TitleComponent.hpp
| |-- LoggerComponent.hpp
| |-- LogoComponent.hpp
| |-- BaseLoopComponent.hpp
| |-- LoopComponent.hpp
| |-- CliComponent.hpp
| `-- ConfigComponent.hpp
|-- interfaces/
| |-- IAppComponent.hpp
| `-- IShutdownable.hpp
|-- utils/
| |-- enums.hpp
| |-- types.hpp
| |-- json_utils.hpp
| |-- path_utils.hpp
| |-- encoding_utils.hpp
| |-- system_utils.hpp
| `-- ColorManipulator.hpp
|-- config_macros.hpp
|-- interfaces.hpp
|-- utils.hpp
|-- components.hpp
|-- core.hpp
`-- consolix.hpp
Public Include Contract
Consolix uses an aggregate-first public include model.
Preferred public entry headers:
Intended standalone utility leaf headers:
Other internal leaf headers are primarily implementation details behind the aggregate entry headers.
Vendored Dependencies
The repository also contains external submodules under libs/, for example:
- libs/log-it-cpp
- libs/time-shield-cpp
- libs/cxxopts
- libs/json
These directories are vendored dependencies used by optional Consolix integrations. They are not part of the public Consolix header tree itself.