Repository navigation
Development
Build and run the source tests with:
make -j
make testThe repository uses clang-format 18 and a checked-in .clang-format. It sets four-space indentation, spaces instead of tabs, a 100-column limit, attached braces, pointer stars beside names, case-sensitive include sorting, and separate definition blocks. Short functions, conditional statements, and loops use multiple lines. The file contains the complete settings.
To format tracked C/C++ sources and headers:
git ls-files -z -- '*.c' '*.h' '*.cpp' '*.cc' '*.cxx' '*.hpp' '*.hh' '*.hxx' | xargs -0 -r clang-format-18 -iUse --dry-run --Werror instead of -i to check formatting. Hosted checks run this command and the repository's functional tests. Keep formatting changes separate from behavior changes when practical so reviews can focus on each.
CupidFM consumes pinned snapshots from this repository. Fix and test library code here, merge it, then update CupidFM's source snapshot and lib/sources.json together.
The test guide includes sanitizer and TLS-mode commands. HTTP and TLS lists the network test dependencies and current client limits.