Skip to main content
Consistency across the codebase makes reviews faster and diffs cleaner. All C++ code is enforced by clang-format and checked by clang-tidy. Lua and SQL conventions are followed by convention.

C++ Style

The project targets C++20 and uses a style based on WebKit with Allman braces. The canonical configuration lives in .clang-format at the repository root and is compatible with clang-format-20.

Key rules

Allman brace example

Access modifiers

Access modifiers (public:, private:, protected:) use an offset of -4 so they sit flush with the class body rather than indented.

Running clang-format

clang-tidy checks

The .clang-tidy configuration enables a focused set of checks:
clang-tidy is run in CI automatically. You can run it locally via the dev Docker Compose setup (see Development workflow).