clang-tidy: Customize Configuration

The .clang-tidy file has been updated to align with the recommended
clang-tidy categories for C++ projects in OpenBMC. All recommended
categories are enabled, and failing checks are disabled by prefixing
them with a '-'.

This approach allows to improve coverage by enabling failing checks
and making necessary code changes to fix failures over time.

Tested: Build and unit tests verified.

Change-Id: I54d5a061a1096f6fa5845b806245db9ffd3c2cc0
Signed-off-by: Jayanth Othayoth <ojayanth@gmail.com>
diff --git a/.clang-tidy b/.clang-tidy
new file mode 100644
index 0000000..f87551f
--- /dev/null
+++ b/.clang-tidy
@@ -0,0 +1,70 @@
+Checks: '
+-*,
+
+bugprone-*,
+-bugprone-empty-catch,
+-bugprone-exception-escape,
+-bugprone-narrowing-conversions,
+cert-*,
+-cert-err58-cpp,
+clang-analyzer-*,
+-clang-analyzer-optin.*,
+-clang-analyzer-osx.*,
+-clang-analyzer-webkit.*,
+cppcoreguidelines-*,
+-cppcoreguidelines-avoid-const-or-ref-data-members,
+-cppcoreguidelines-avoid-magic-numbers,
+-cppcoreguidelines-avoid-non-const-global-variables,
+-cppcoreguidelines-explicit-virtual-functions,
+-cppcoreguidelines-init-variables,
+-cppcoreguidelines-macro-to-enum,
+-cppcoreguidelines-macro-usage,
+-cppcoreguidelines-narrowing-conversions,
+-cppcoreguidelines-non-private-member-variables-in-classes,
+-cppcoreguidelines-pro-type-member-init,
+-cppcoreguidelines-pro-type-vararg,
+-cppcoreguidelines-special-member-functions,
+misc-*,
+-misc-const-correctness,
+-misc-include-cleaner,
+-misc-non-private-member-variables-in-classes,
+-misc-use-anonymous-namespace,
+modernize-*,
+-modernize-avoid-bind,
+-modernize-concat-nested-namespaces,
+-modernize-macro-to-enum,
+-modernize-redundant-void-arg,
+-modernize-return-braced-init-list,
+-modernize-use-auto,
+-modernize-use-equals-default,
+-modernize-use-nodiscard,
+-modernize-use-override,
+-modernize-use-trailing-return-type,
+performance-*,
+-performance-enum-size,
+-performance-unnecessary-value-param,
+readability-*,
+-readability-convert-member-functions-to-static,
+-readability-else-after-return,
+-readability-function-cognitive-complexity,
+-readability-identifier-length,
+-readability-implicit-bool-conversion,
+-readability-inconsistent-declaration-parameter-name,
+-readability-magic-numbers,
+-readability-make-member-function-const,
+-readability-named-parameter,
+-readability-qualified-auto,
+-readability-redundant-control-flow,
+-readability-redundant-inline-specifier,
+-readability-redundant-string-cstr,
+'
+
+# Treat all warnings as errors
+WarningsAsErrors: '*'
+
+# Apply checks to all files
+HeaderFilterRegex: '.*'
+
+# Disable automatic formatting
+FormatStyle: none
+