---
# Disabled categories — every entry needs a reason. Buckets:
#   1. Vendor / wrapping false positives where pybind11-style binding code
#      requires C-style varargs / reinterpret_cast / pointer arithmetic.
#   2. Industry-noise checks that don't apply on modern toolchains
#      (`#pragma once` portability — universally supported).
#   3. Checks whose design assumes whole-program analysis but
#      clang-tidy runs per-translation-unit, producing systematic
#      false positives we cannot suppress at scale.
#   4. Aesthetic checks whose marginal benefit doesn't justify the churn.
# Everything else stays on; findings are real cleanup work and get
# fixed category-by-category, not suppressed.
Checks: >
  bugprone-*,
  cppcoreguidelines-*,
  modernize-*,
  performance-*,
  portability-*,
  readability-*,
  misc-*,
  -bugprone-easily-swappable-parameters,
  -bugprone-narrowing-conversions,
  -cppcoreguidelines-avoid-c-arrays,
  -cppcoreguidelines-avoid-magic-numbers,
  -cppcoreguidelines-avoid-non-const-global-variables,
  -cppcoreguidelines-init-variables,
  -cppcoreguidelines-narrowing-conversions,
  -cppcoreguidelines-non-private-member-variables-in-classes,
  -cppcoreguidelines-owning-memory,
  -cppcoreguidelines-pro-bounds-array-to-pointer-decay,
  -cppcoreguidelines-pro-bounds-constant-array-index,
  -cppcoreguidelines-pro-bounds-pointer-arithmetic,
  -cppcoreguidelines-pro-type-reinterpret-cast,
  -cppcoreguidelines-pro-type-vararg,
  -cppcoreguidelines-pro-type-union-access,
  -cppcoreguidelines-special-member-functions,
  -misc-include-cleaner,
  -misc-no-recursion,
  -misc-non-private-member-variables-in-classes,
  -misc-use-internal-linkage,
  -modernize-avoid-c-arrays,
  -modernize-use-trailing-return-type,
  -performance-enum-size,
  -portability-avoid-pragma-once,
  -readability-avoid-const-params-in-decls,
  -readability-function-cognitive-complexity,
  -readability-identifier-length,
  -readability-identifier-naming,
  -readability-magic-numbers,
  -readability-named-parameter,
  -readability-redundant-access-specifiers,
  -readability-uppercase-literal-suffix

WarningsAsErrors: ''
HeaderFilterRegex: 'src/cheshm/.*'
FormatStyle: file
UseColor: true

CheckOptions:
  modernize-use-default-member-init.UseAssignment: false
  performance-move-const-arg.CheckTriviallyCopyableMove: false
