# Ligo Ligo is a C++23 networking and transport library. It provides HTTP JSON calls, framed TCP JSON calls, reliable UDP datagrams, TCP/TLS handoff helpers, timeout handling, and `std::expected`-based error reporting. Ligo uses Modulus for shared build tooling, Boost.JSON, and OpenSSL integration. Product-specific routes and workflows belong in consuming applications. ## Build Code style is managed by Modulus: run `./modulus.py format` or `./modulus.py format --check`. The generated Neovim integration uses the same pinned container formatter for C++ and Python, including existing format-on-save toggles. Configure first to prepare tooling; customize `tooling.editor.clang_format` and `tooling.format.exclude` in `modulus.json`, not generated editor files. See the shared Modulus README for the compact layout and no-alias policy. Configure, build, and test the default target: ```sh python3 modulus.py configure python3 modulus.py build python3 modulus.py test ``` Release verification: ```sh python3 modulus.py configure --target x86_64_gcc12_release python3 modulus.py build --target x86_64_gcc12_release python3 modulus.py test --target x86_64_gcc12_release ``` Create packages: ```sh python3 modulus.py package --all ``` Configure/build/test can read public packages anonymously from the khodo Conan registry. Publishing requires credentials only on the upload step: ```sh CONAN_USER= \ CONAN_TOKEN= \ LIGO_CONAN_UPLOAD=1 \ MODULUS_ALLOW_PACKAGE_REPLACE=1 \ python3 modulus.py package --all --replace ``` ## License Ligo is released under the MIT License.