From 76d0a7846337d983acdcbae86dc5feba7ef30669 Mon Sep 17 00:00:00 2001 From: John Wellbelove Date: Thu, 4 Sep 2025 11:27:27 +0100 Subject: [PATCH] Added enhanced coderabbit configuration --- .coderabbit.yaml | 200 ++++++++++++++++++++++++++++++++ test/vs2022/etl.vcxproj | 2 + test/vs2022/etl.vcxproj.filters | 6 + 3 files changed, 208 insertions(+) create mode 100644 .coderabbit.yaml diff --git a/.coderabbit.yaml b/.coderabbit.yaml new file mode 100644 index 00000000..b9db399c --- /dev/null +++ b/.coderabbit.yaml @@ -0,0 +1,200 @@ +language: "en-GB" +early_access: false + +reviews: + profile: "chill" + request_changes_workflow: false + high_level_summary: false + high_level_summary_in_walkthrough: false + poem: false + review_status: false + collapse_walkthrough: false + changed_files_summary: false + sequence_diagrams: false + estimate_code_review_effort: false + assess_linked_issues: false + related_issues: false + related_prs: false + suggested_labels: false + suggested_reviewers: false + auto_review: + enabled: true + drafts: false + path_instructions: + - path: "include/etl/*.h" + instructions: | + Review the C++ code in these directories. The code must not use + STL containers but must instead rely on Embedded Template Library + (ETL) for data structures and algorithms. + + When answering questions, provide accurate and concise information based on the ETL documentation and codebase. If you don't know the answer, just say "I don't know". Do not make up answers. + When providing code examples, ensure they are relevant to the ETL and follow its conventions. + Always be polite and professional in your responses. + + Header files should start with the ETL's standard MIT comment block. + + Header files should have include guards in the format '#ifndef ETL_>_INCLUDED #define ETL__INCLUDED #endif' + + Headers should be organized in the following order + - The first header include should be '#include "platform.h"' + - Headers from the ETL + - Headers from the path 'private/**' + - C++ standard library headers + - C standard library headers + + Pay extra attention to the following + - Buffer overflows + - Memory leaks + - Undefined behavior + + Check that the following conventions are used + - Variable names should be in `snake_case` + - Macro constants should be `ALL_CAPS_WITH_UNDERSCORES` + - Macro constants should be prefixed with 'ETL_' + - Function, class, and type names should be `snake_case` + - enum members should be `Caps_Snake_Case` + + Please keep your outputs short and to the point, unless otherwise asked + - Keep your responses short, describe small issues in a few sentences + - Don't output tips, analysis chains or anything else with a collapsible view + - Don't output `comment summaries` or `fix prompts for AIs` + - If the highlighted issue is complex, don't suggest a solution + - Don't use emojis + + - path: "include/etl/atomic/*.h" + instructions: | + Review the C++ code in these directories. The code must not use + STL containers but must instead rely on Embedded Template Library + (ETL) for data structures and algorithms. + + When answering questions, provide accurate and concise information based on the ETL documentation and codebase. If you don't know the answer, just say "I don't know". Do not make up answers. + When providing code examples, ensure they are relevant to the ETL and follow its conventions. + Always be polite and professional in your responses. + + Header files should start with the ETL's standard MIT comment block. + + Header files are allowed to not have include guards + + Headers should be organized in the following order + - Headers from the ETL + - Headers from the path 'private/**' + - C++ standard library headers + - C standard library headers + + Pay extra attention to the following + - Buffer overflows + - Memory leaks + - Undefined behavior + + Check that the following conventions are used + - Variable names should be in `snake_case` + - Macro constants should be `ALL_CAPS_WITH_UNDERSCORES` + - Macro constants should be prefixed with 'ETL_' + - Function, class, and type names should be `snake_case` + - enum members should be `Caps_Snake_Case` + + Please keep your outputs short and to the point, unless otherwise asked + - Keep your responses short, describe small issues in a few sentences + - Don't output tips, analysis chains or anything else with a collapsible view + - Don't output `comment summaries` or `fix prompts for AIs` + - If the highlighted issue is complex, don't suggest a solution + - Don't use emojis + + - path: "include/etl/atomic/*.h" + instructions: | + Review the C++ code in these directories. The code must not use + STL containers but must instead rely on Embedded Template Library + (ETL) for data structures and algorithms. + + When answering questions, provide accurate and concise information based on the ETL documentation and codebase. If you don't know the answer, just say "I don't know". Do not make up answers. + When providing code examples, ensure they are relevant to the ETL and follow its conventions. + Always be polite and professional in your responses. + + Header files should start with the ETL's standard MIT comment block. + + Header files are allowed to not have include guards + + Headers should be organized in the following order + - Headers from the ETL + - Headers from the path 'private/**' + - C++ standard library headers + - C standard library headers + + Pay extra attention to the following + - Buffer overflows + - Memory leaks + - Undefined behavior + + Check that the following conventions are used + - Variable names should be in `snake_case` + - Macro constants should be `ALL_CAPS_WITH_UNDERSCORES` + - Macro constants should be prefixed with 'ETL_' + - Function, class, and type names should be `snake_case` + - enum members should be `Caps_Snake_Case` + + Please keep your outputs short and to the point, unless otherwise asked + - Keep your responses short, describe small issues in a few sentences + - Don't output tips, analysis chains or anything else with a collapsible view + - Don't output `comment summaries` or `fix prompts for AIs` + - If the highlighted issue is complex, don't suggest a solution + - Don't use emojis + + - path: "include/etl/mutex/*.h" + instructions: | + Review the C++ code in these directories. The code must not use + STL containers but must instead rely on Embedded Template Library + (ETL) for data structures and algorithms. + + When answering questions, provide accurate and concise information based on the ETL documentation and codebase. If you don't know the answer, just say "I don't know". Do not make up answers. + When providing code examples, ensure they are relevant to the ETL and follow its conventions. + Always be polite and professional in your responses. + + Header files should start with the ETL's standard MIT comment block. + + Header files are allowed to not have include guards + + Headers should be organized in the following order + - Headers from the ETL + - Headers from the path 'private/**' + - C++ standard library headers + - C standard library headers + + Pay extra attention to the following + - Buffer overflows + - Memory leaks + - Undefined behavior + + Check that the following conventions are used + - Variable names should be in `snake_case` + - Macro constants should be `ALL_CAPS_WITH_UNDERSCORES` + - Macro constants should be prefixed with 'ETL_' + - Function, class, and type names should be `snake_case` + - enum members should be `Caps_Snake_Case` + + Please keep your outputs short and to the point, unless otherwise asked + - Keep your responses short, describe small issues in a few sentences + - Don't output tips, analysis chains or anything else with a collapsible view + - Don't output `comment summaries` or `fix prompts for AIs` + - If the highlighted issue is complex, don't suggest a solution + - Don't use emojis + + - path: "include/etl/deprecated/*.h" + instructions: | + Ingnore files in this directory + + - path: "include/etl/experimental/*.h" + instructions: | + Ingnore files in this directory + + - path: "include/etl/generators/*.h" + instructions: | + Ingnore files in this directory + + - path: "include/etl/profiles/*.h" + instructions: | + Ingnore files in this directory + +chat: + art: false + auto_reply: true + \ No newline at end of file diff --git a/test/vs2022/etl.vcxproj b/test/vs2022/etl.vcxproj index 6f92be54..de73f599 100644 --- a/test/vs2022/etl.vcxproj +++ b/test/vs2022/etl.vcxproj @@ -11369,6 +11369,7 @@ + @@ -11381,6 +11382,7 @@ + diff --git a/test/vs2022/etl.vcxproj.filters b/test/vs2022/etl.vcxproj.filters index 34d11b62..21a0fa75 100644 --- a/test/vs2022/etl.vcxproj.filters +++ b/test/vs2022/etl.vcxproj.filters @@ -3877,6 +3877,12 @@ Tests\Scripts + + Resource Files\CI\Github + + + Resource Files\CI +