---
# Clang-Tidy configuration for Kineto
# This enables common C++ best practices and bug detection checks
InheritParentConfig: true

Checks: >
  bugprone-*,
  -bugprone-easily-swappable-parameters,
  -bugprone-implicit-widening-of-multiplication-result,
  clang-analyzer-*,
  -clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,
  google-*,
  -google-readability-todo,
  -google-runtime-references,
  misc-*,
  -misc-non-private-member-variables-in-classes,
  -misc-no-recursion,
  modernize-*,
  -modernize-use-trailing-return-type,
  -modernize-avoid-c-arrays,
  performance-*,
  readability-*,
  -readability-else-after-return,
  -readability-identifier-length,
  -readability-function-cognitive-complexity,
  -readability-magic-numbers,
  -readability-uppercase-literal-suffix,

WarningsAsErrors: ''
HeaderFilterRegex: 'libkineto/include/.*'
FormatStyle: file
CheckOptions:
  - key: readability-identifier-naming.NamespaceCase
    value: lower_case
  - key: readability-identifier-naming.ClassCase
    value: CamelCase
  - key: readability-identifier-naming.StructCase
    value: CamelCase
  - key: readability-identifier-naming.FunctionCase
    value: camelBack
  - key: readability-identifier-naming.VariableCase
    value: camelBack
  - key: readability-identifier-naming.GlobalConstantCase
    value: CamelCase
  - key: readability-identifier-naming.GlobalConstantPrefix
    value: k
  - key: readability-identifier-naming.StaticConstantCase
    value: CamelCase
  - key: readability-identifier-naming.StaticConstantPrefix
    value: k
  - key: readability-identifier-naming.ParameterCase
    value: camelBack
...
