--- # Enable all bugprone, performance, and modernization checks, # then selectively disable problematic ones. Checks: > -*, bugprone-*, clang-analyzer-*, cppcoreguidelines-*, modernize-*, performance-*, readability-*, -cppcoreguidelines-macro-usage, -cppcoreguidelines-pro-bounds-array-to-pointer-decay, -cppcoreguidelines-pro-bounds-constant-array-index, -cppcoreguidelines-pro-bounds-pointer-arithmetic, -cppcoreguidelines-pro-type-const-cast, -cppcoreguidelines-pro-type-reinterpret-cast, -cppcoreguidelines-pro-type-vararg, -modernize-use-trailing-return-type, -readability-braces-around-statements, -readability-identifier-length, -readability-implicit-bool-conversion, -readability-magic-numbers, -readability-string-compare # Treat these high-risk categories as errors to block CI builds WarningsAsErrors: 'bugprone-*,performance-*' # Configuration for specific checks CheckOptions: # Enforce lower_case for variables (Modern C++ style) - key: readability-identifier-naming.VariableCase value: lower_case # Enforce CamelCase for Classes - key: readability-identifier-naming.ClassCase value: CamelCase # Require [[nodiscard]] on functions with non-void return types - key: modernize-use-nodiscard.ReplacementString value: '[[nodiscard]]' # Set a line limit for functions before warning - key: readability-function-size.LineThreshold value: '100' # Ensure fixes match your .clang-format file FormatStyle: file ...