{"slug":"cpp","title":"C++","extensions":[".cc",".cpp",".cxx",".hh",".hpp",".hxx"],"entry_languages":["C++"],"prompts":148,"repos":13,"sample":[{"repository":"microsoft/terminal","slug":"microsoft-terminal","checks":0},{"repository":"pytorch/pytorch","slug":"pytorch-pytorch","checks":8},{"repository":"ggml-org/llama.cpp","slug":"ggml-org-llama.cpp","checks":9},{"repository":"opencv/opencv","slug":"opencv-opencv","checks":2},{"repository":"oven-sh/bun","slug":"oven-sh-bun","checks":9},{"repository":"ClickHouse/ClickHouse","slug":"clickhouse-clickhouse","checks":6},{"repository":"llvm/llvm-project","slug":"llvm-llvm-project","checks":7},{"repository":"duckdb/duckdb","slug":"duckdb-duckdb","checks":4},{"repository":"hyprwm/Hyprland","slug":"hyprwm-hyprland","checks":0},{"repository":"Tencent/ncnn","slug":"tencent-ncnn","checks":3},{"repository":"facebook/yoga","slug":"facebook-yoga","checks":4},{"repository":"dotnet/runtime","slug":"dotnet-runtime","checks":3},{"repository":"maplibre/maplibre-native","slug":"maplibre-maplibre-native","checks":9}],"tools":[{"id":"codeql","method":"static_analysis","kind":"security-scanning","languages":["*"],"upstream":"https://github.com/github/codeql","docs":null,"autofix":false,"exit_codes":{},"repos":4,"share":31,"commands":["uses github/codeql-action/analyze"],"run":null,"via":"GitHub Action github/codeql-action/analyze","triggers":["ci"],"examples":[{"repository":"llvm/llvm-project","slug":"llvm-llvm-project"},{"repository":"duckdb/duckdb","slug":"duckdb-duckdb"},{"repository":"Tencent/ncnn","slug":"tencent-ncnn"},{"repository":"maplibre/maplibre-native","slug":"maplibre-maplibre-native"}]},{"id":"ci-matrix","method":"testing","kind":"version-matrix","languages":["*"],"upstream":"https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations","docs":null,"autofix":false,"exit_codes":{},"repos":3,"share":23,"commands":["analyze (language: 1)","build (os: 3, python-version: 2)","codeql-analyze (language: 3)"],"run":"codeql-analyze (language: 3)","via":null,"triggers":["ci"],"examples":[{"repository":"duckdb/duckdb","slug":"duckdb-duckdb"},{"repository":"Tencent/ncnn","slug":"tencent-ncnn"},{"repository":"maplibre/maplibre-native","slug":"maplibre-maplibre-native"}]},{"id":"pre-commit-hooks","method":"formatting","kind":"file-hygiene","languages":["*"],"upstream":"https://github.com/pre-commit/pre-commit-hooks","docs":null,"autofix":true,"exit_codes":{},"repos":2,"share":15,"commands":["pre-commit hook check-added-large-files","pre-commit hook check-yaml","pre-commit hook end-of-file-fixer"],"run":null,"via":"pre-commit hook check-yaml","triggers":["pre_commit","ci"],"examples":[{"repository":"ggml-org/llama.cpp","slug":"ggml-org-llama.cpp"},{"repository":"maplibre/maplibre-native","slug":"maplibre-maplibre-native"}]},{"id":"codespell","method":"formatting","kind":"spelling","languages":["*"],"upstream":"https://github.com/codespell-project/codespell","docs":null,"autofix":false,"exit_codes":{},"repos":1,"share":8,"commands":[],"run":null,"via":null,"triggers":[],"examples":[{"repository":"pytorch/pytorch","slug":"pytorch-pytorch"}]}],"headline":[],"raw_md":"https://awesomereviewers.com/raw/verify/cpp.md","raw_json":"https://awesomereviewers.com/raw/verify/cpp.json","url":"https://awesomereviewers.com/verify/cpp/","baseline":{"slug":"every-change","title":"Any change","topics":["Code Style","Naming Conventions"],"checks":[{"kind":"formatting","title":"Formatting","method":"formatting","method_slug":"formatting","catches":"Layout drift that buries the real change in the diff.","tool":null,"alternatives":[],"note":null},{"kind":"linting","title":"Linting","method":"static_analysis","method_slug":"static-analysis","catches":"Bug-prone patterns, unused code and conventions the formatter does not cover.","tool":null,"alternatives":[],"note":null},{"kind":"type-checking","title":"Type checking","method":"static_analysis","method_slug":"static-analysis","catches":"Wrong types, unhandled null or None, call signatures broken across modules.","tool":null,"alternatives":[],"note":"The compiler type-checks on every build and test run; a failing build is this check failing."},{"kind":"unit-tests","title":"Unit and integration tests","method":"testing","method_slug":"testing","catches":"Behaviour regressions on the paths the tests exercise.","tool":null,"alternatives":[],"note":null}],"prompts":[{"slug":"hyprland-no-braces-short-ifs","title":"no braces short ifs","description":"Remove braces around single-statement if blocks to maintain consistent code style and improve readability. This applies to all control flow statements with single statements, including if, else if, and else blocks.","repository":"hyprwm/Hyprland","domain":"devtools","topic":"Code Style","language":"C++","updated":"2024-10-12","comments":17,"stars":28863,"raw":"https://awesomereviewers.com/raw/hyprland-no-braces-short-ifs.md"},{"slug":"ncnn-consistency-and-readability","title":"Consistency And Readability","description":"Apply a single, repeatable style checklist across all new/modified code: 1) Remove unused/redundant code - Drop unused `#include`s and unused variables.","repository":"Tencent/ncnn","domain":"ml-systems","topic":"Code Style","language":"C++","updated":"2026-02-13","comments":14,"stars":23205,"raw":"https://awesomereviewers.com/raw/ncnn-consistency-and-readability.md"},{"slug":"opencv-code-for-readability","title":"Code for readability","description":"Prioritize human readability when writing code. Split complex expressions into steps with meaningful variable names. Extract repeated logic into well-named functions. Avoid magic numbers - derive values from existing structures or use named constants. Simplify control flow by reducing nesting levels and using early returns.","repository":"opencv/opencv","domain":"ml-systems","topic":"Code Style","language":"C++","updated":"2025-06-27","comments":13,"stars":82865,"raw":"https://awesomereviewers.com/raw/opencv-code-for-readability.md"},{"slug":"clickhouse-use-descriptive-semantic-names","title":"Use descriptive semantic names","description":"Names should accurately reflect their purpose, behavior, and semantic meaning to avoid confusion and improve code readability. Avoid misleading names that don't match the actual functionality or content.","repository":"ClickHouse/ClickHouse","domain":"data-systems","topic":"Naming Conventions","language":"C++","updated":"2025-08-18","comments":11,"stars":42425,"raw":"https://awesomereviewers.com/raw/clickhouse-use-descriptive-semantic-names.md"},{"slug":"duckdb-use-descriptive-naming","title":"Use descriptive naming","description":"Choose names that clearly communicate intent and purpose rather than being generic, abbreviated, or potentially misleading. Names should accurately reflect what the code does, not how it does it.","repository":"duckdb/duckdb","domain":"data-systems","topic":"Naming Conventions","language":"C++","updated":"2025-07-29","comments":11,"stars":32061,"raw":"https://awesomereviewers.com/raw/duckdb-use-descriptive-naming.md"},{"slug":"llvm-project-avoid-unnecessary-auto","title":"Avoid unnecessary auto","description":"Use explicit types instead of `auto` unless the type is obvious from the right-hand side of the assignment or impossible to spell. The LLVM coding standards recommend avoiding `auto` in most cases to improve code readability and maintainability.","repository":"llvm/llvm-project","domain":"runtimes","topic":"Code Style","language":"C++","updated":"2025-07-28","comments":10,"stars":33702,"raw":"https://awesomereviewers.com/raw/llvm-project-avoid-unnecessary-auto.md"},{"slug":"duckdb-eliminate-code-duplication","title":"Eliminate code duplication","description":"Actively identify and eliminate code duplication to improve maintainability and reduce the risk of inconsistent behavior. This includes several strategies:","repository":"duckdb/duckdb","domain":"data-systems","topic":"Code Style","language":"C++","updated":"2025-08-17","comments":9,"stars":32061,"raw":"https://awesomereviewers.com/raw/duckdb-eliminate-code-duplication.md"},{"slug":"deeplearning4j-remove-debugging-artifacts","title":"Remove debugging artifacts","description":"Production code should be free from debugging artifacts that reduce readability and maintainability. Remove all debugging print statements, commented-out code blocks, and other temporary debugging elements before merging code.","repository":"deeplearning4j/deeplearning4j","domain":"ml-systems","topic":"Code Style","language":"C++","updated":"2023-07-26","comments":9,"stars":14036,"raw":"https://awesomereviewers.com/raw/deeplearning4j-remove-debugging-artifacts.md"},{"slug":"ncnn-consistent-semantic-identifiers","title":"Consistent Semantic Identifiers","description":"When adding/changing code, use names that (1) match existing project conventions, (2) clearly express intent, and (3) avoid reserved/problematic identifier patterns.","repository":"Tencent/ncnn","domain":"ml-systems","topic":"Naming Conventions","language":"C++","updated":"2025-09-10","comments":8,"stars":23205,"raw":"https://awesomereviewers.com/raw/ncnn-consistent-semantic-identifiers.md"},{"slug":"terminal-use-descriptive-identifiers","title":"Use descriptive identifiers","description":"Choose clear, self-documenting names for variables, methods, parameters, and properties that explicitly convey their purpose and context. Avoid ambiguous or generic names that require additional context to understand.","repository":"microsoft/terminal","domain":"devtools","topic":"Naming Conventions","language":"C++","updated":"2025-08-05","comments":8,"stars":99242,"raw":"https://awesomereviewers.com/raw/terminal-use-descriptive-identifiers.md"},{"slug":"llvm-project-use-descriptive-names","title":"Use descriptive names","description":"Choose names that clearly describe the purpose, behavior, and content of functions, variables, and constants. Names should be self-documenting and unambiguous to other developers.","repository":"llvm/llvm-project","domain":"runtimes","topic":"Naming Conventions","language":"C++","updated":"2025-07-28","comments":8,"stars":33702,"raw":"https://awesomereviewers.com/raw/llvm-project-use-descriptive-names.md"},{"slug":"llama.cpp-maintain-naming-consistency","title":"maintain naming consistency","description":"Follow established naming patterns and conventions consistently throughout the codebase. This includes using consistent formatting (dashes vs underscores), proper capitalization, descriptive parameter names, and uniform data type representations.","repository":"ggml-org/llama.cpp","domain":"llm-infra","topic":"Naming Conventions","language":"C++","updated":"2025-07-27","comments":8,"stars":83559,"raw":"https://awesomereviewers.com/raw/llama.cpp-maintain-naming-consistency.md"}],"prompt_count":26},"changes":[{"slug":"security","title":"Authentication, input handling, secrets, permissions","topics":["Security"],"checks":[{"kind":"security-scanning","title":"Security scanning","method":"static_analysis","method_slug":"static-analysis","catches":"Injection, unsafe APIs and tainted data reaching a sink.","tool":{"id":"codeql","method":"static_analysis","kind":"security-scanning","languages":["*"],"upstream":"https://github.com/github/codeql","docs":null,"autofix":false,"exit_codes":{},"repos":4,"share":31,"commands":["uses github/codeql-action/analyze"],"run":null,"via":"GitHub Action github/codeql-action/analyze","triggers":["ci"],"examples":[{"repository":"llvm/llvm-project","slug":"llvm-llvm-project"},{"repository":"duckdb/duckdb","slug":"duckdb-duckdb"},{"repository":"Tencent/ncnn","slug":"tencent-ncnn"},{"repository":"maplibre/maplibre-native","slug":"maplibre-maplibre-native"}]},"alternatives":[],"note":null},{"kind":"secret-scanning","title":"Secret scanning","method":"static_analysis","method_slug":"static-analysis","catches":"Credentials and tokens committed to the repository.","tool":null,"alternatives":[],"note":null},{"kind":"dependency-audit","title":"Dependency audit","method":"supply_chain","method_slug":"supply-chain","catches":"Known-vulnerable or disallowed dependencies and licenses.","tool":null,"alternatives":[],"note":null}],"prompts":[{"slug":"clickhouse-validate-user-inputs","title":"validate user inputs","description":"Always validate and properly escape user-controlled input before incorporating it into structured data formats like JSON, SQL, XML, or command strings. Unescaped input can lead to injection vulnerabilities that allow attackers to manipulate application logic or access unauthorized data.","repository":"ClickHouse/ClickHouse","domain":"data-systems","topic":"Security","language":"C++","updated":"2025-07-25","comments":3,"stars":42425,"raw":"https://awesomereviewers.com/raw/clickhouse-validate-user-inputs.md"},{"slug":"runtime-preserve-pointer-authentication","title":"Preserve pointer authentication","description":"When implementing Pointer Authentication (PAC) for security, maintain signed pointers throughout their entire lifecycle to prevent potential security vulnerabilities. Avoid unnecessarily stripping PAC signatures from pointers that will be stored and later reused. This preserves the security guarantees that PAC is designed to provide.","repository":"dotnet/runtime","domain":"runtimes","topic":"Security","language":"C++","updated":"2025-05-19","comments":3,"stars":16578,"raw":"https://awesomereviewers.com/raw/runtime-preserve-pointer-authentication.md"},{"slug":"duckdb-secure-sensitive-data-handling","title":"secure sensitive data handling","description":"When handling sensitive data like encryption keys, passwords, or authentication tokens, avoid using standard string types that can be easily copied and may persist in memory. Instead, use specialized secure data structures that prevent accidental copying and provide controlled memory management.","repository":"duckdb/duckdb","domain":"data-systems","topic":"Security","language":"C++","updated":"2025-06-10","comments":2,"stars":32061,"raw":"https://awesomereviewers.com/raw/duckdb-secure-sensitive-data-handling.md"},{"slug":"bun-verify-cryptographic-function-behavior","title":"Verify cryptographic function behavior","description":"When implementing cryptographic algorithms, always verify the exact behavior and return values of security-critical functions. Misinterpreting how functions signal success or equality can lead to severe security vulnerabilities.","repository":"oven-sh/bun","domain":"runtimes","topic":"Security","language":"C++","updated":"2025-05-16","comments":1,"stars":79093,"raw":"https://awesomereviewers.com/raw/bun-verify-cryptographic-function-behavior.md"},{"slug":"maplibre-native-buffer-bounds-validation","title":"Buffer bounds validation","description":"Always validate buffer boundaries before performing memory operations to prevent buffer overflow vulnerabilities. When copying data into a buffer at a specified offset, verify that the combination of size and offset doesn't exceed the buffer's allocated capacity.","repository":"maplibre/maplibre-native","domain":"app-frameworks","topic":"Security","language":"C++","updated":"2023-09-12","comments":1,"stars":1411,"raw":"https://awesomereviewers.com/raw/maplibre-native-buffer-bounds-validation.md"},{"slug":"ncnn-validate-by-file-header","title":"Validate by File Header","description":"When parsing untrusted files (e.g., images), do not choose decode/encode logic based on filename suffix/substring (e.g., “.pgm/.ppm/.jpg”). Instead, detect the actual format using file content (magic bytes/header) and only proceed if it matches supported signatures; otherwise fail safely.","repository":"Tencent/ncnn","domain":"ml-systems","topic":"Security","language":"C++","updated":"2020-11-13","comments":1,"stars":23205,"raw":"https://awesomereviewers.com/raw/ncnn-validate-by-file-header.md"}],"prompt_count":6},{"slug":"interfaces","title":"Public APIs, signatures, error paths, nullability","topics":["API","Error Handling","Null Handling"],"checks":[{"kind":"type-checking","title":"Type checking","method":"static_analysis","method_slug":"static-analysis","catches":"Wrong types, unhandled null or None, call signatures broken across modules.","tool":null,"alternatives":[],"note":"The compiler type-checks on every build and test run; a failing build is this check failing."},{"kind":"unit-tests","title":"Unit and integration tests","method":"testing","method_slug":"testing","catches":"Behaviour regressions on the paths the tests exercise.","tool":null,"alternatives":[],"note":null},{"kind":"property-tests","title":"Property-based tests","method":"testing","method_slug":"testing","catches":"Edge-case inputs nobody wrote a test for; invariants over generated data.","tool":null,"alternatives":[],"note":null}],"prompts":[{"slug":"clickhouse-explicit-error-handling","title":"Explicit error handling","description":"Always handle error conditions explicitly rather than silently ignoring them or using generic error responses. Use specific error codes that reflect business logic rather than low-level system errors, and throw exceptions for unexpected states instead of using assertions or returning generic failure indicators.","repository":"ClickHouse/ClickHouse","domain":"data-systems","topic":"Error Handling","language":"C++","updated":"2025-08-07","comments":7,"stars":42425,"raw":"https://awesomereviewers.com/raw/clickhouse-explicit-error-handling.md"},{"slug":"bun-assert-before-cast","title":"Assert before cast","description":"Always validate values before performing unsafe operations like dynamic casting. When a value could be null, zero, or undefined, store it in an intermediate variable and verify it before proceeding.","repository":"oven-sh/bun","domain":"runtimes","topic":"Null Handling","language":"C++","updated":"2025-06-23","comments":7,"stars":79093,"raw":"https://awesomereviewers.com/raw/bun-assert-before-cast.md"},{"slug":"hyprland-prevent-null-dereferences","title":"prevent null dereferences","description":"Always verify pointers are valid before dereferencing to prevent crashes and undefined behavior. This applies to regular pointers, weak pointers, and return values from C functions that may return null.","repository":"hyprwm/Hyprland","domain":"devtools","topic":"Null Handling","language":"C++","updated":"2025-06-01","comments":7,"stars":28863,"raw":"https://awesomereviewers.com/raw/hyprland-prevent-null-dereferences.md"},{"slug":"ncnn-graceful-error-propagation","title":"Graceful Error Propagation","description":"When writing library code, never hard-terminate or silently ignore failures. Always (1) validate inputs/shape compatibility correctly (including pack/elempack and dynamic dims), (2) signal errors with consistent return codes, and (3) propagate error statuses from lower-level operations to the caller.","repository":"Tencent/ncnn","domain":"ml-systems","topic":"Error Handling","language":"C++","updated":"2025-09-13","comments":6,"stars":23205,"raw":"https://awesomereviewers.com/raw/ncnn-graceful-error-propagation.md"},{"slug":"opencv-clear-api-contracts","title":"Clear API contracts","description":"Design APIs with clear contracts that behave exactly as their names and signatures suggest. Functions should do precisely what they claim to do without surprising side effects or hidden behaviors.","repository":"opencv/opencv","domain":"ml-systems","topic":"API","language":"C++","updated":"2025-07-01","comments":6,"stars":82865,"raw":"https://awesomereviewers.com/raw/opencv-clear-api-contracts.md"},{"slug":"bun-check-exceptions-consistently","title":"Check exceptions consistently","description":"Always check for exceptions immediately after operations that might throw them, especially before using the results in control flow decisions. When accessing properties that might be used in conditionals, retrieve the property first, check for exceptions, and then use the property in the conditional.","repository":"oven-sh/bun","domain":"runtimes","topic":"Error Handling","language":"C++","updated":"2025-06-20","comments":6,"stars":79093,"raw":"https://awesomereviewers.com/raw/bun-check-exceptions-consistently.md"},{"slug":"opencv-use-opencv-error-mechanisms","title":"Use OpenCV error mechanisms","description":"Always use OpenCV's built-in error handling mechanisms instead of C++ exceptions or custom error handling. This ensures consistent error handling across the codebase and proper integration with OpenCV's error handling infrastructure.","repository":"opencv/opencv","domain":"ml-systems","topic":"Error Handling","language":"C++","updated":"2025-06-18","comments":6,"stars":82865,"raw":"https://awesomereviewers.com/raw/opencv-use-opencv-error-mechanisms.md"},{"slug":"opencv-prevent-null-vulnerabilities","title":"Prevent null vulnerabilities","description":"Use container classes and smart pointers instead of manual memory allocation to prevent null pointer dereferences and memory leaks. **Instead of raw memory allocation:**","repository":"opencv/opencv","domain":"ml-systems","topic":"Null Handling","language":"C++","updated":"2024-12-21","comments":6,"stars":82865,"raw":"https://awesomereviewers.com/raw/opencv-prevent-null-vulnerabilities.md"},{"slug":"maplibre-native-handle-errors-by-severity","title":"Handle errors by severity","description":"Choose error handling mechanisms based on error severity and recoverability: 1. Use throws for unrecoverable errors that prevent system operation: ```cpp","repository":"maplibre/maplibre-native","domain":"app-frameworks","topic":"Error Handling","language":"C++","updated":"2024-07-30","comments":6,"stars":1411,"raw":"https://awesomereviewers.com/raw/maplibre-native-handle-errors-by-severity.md"},{"slug":"duckdb-consistent-null-validation","title":"consistent null validation","description":"Ensure null checks and input validation are applied consistently across similar functions and code paths. When one function in an API performs null pointer checks or input validation, all similar functions should follow the same pattern to maintain predictable behavior and prevent runtime errors.","repository":"duckdb/duckdb","domain":"data-systems","topic":"Null Handling","language":"C++","updated":"2025-07-29","comments":5,"stars":32061,"raw":"https://awesomereviewers.com/raw/duckdb-consistent-null-validation.md"},{"slug":"llvm-project-design-thoughtful-api-interfaces","title":"Design thoughtful API interfaces","description":"When designing APIs, prioritize clarity, appropriate abstraction levels, and user experience. Avoid magic numbers or unclear parameters by using named constants or helper functions. Choose the right balance between generic and specific interfaces - use specific types when the use case is well-defined, but design for genericity when supporting multiple...","repository":"llvm/llvm-project","domain":"runtimes","topic":"API","language":"C++","updated":"2025-07-25","comments":5,"stars":33702,"raw":"https://awesomereviewers.com/raw/llvm-project-design-thoughtful-api-interfaces.md"},{"slug":"llvm-project-eliminate-redundant-null-checks","title":"Eliminate redundant null checks","description":"Avoid unnecessary null checks when the called function already handles null cases, and use references instead of pointers when null values are guaranteed not to occur.","repository":"llvm/llvm-project","domain":"runtimes","topic":"Null Handling","language":"C++","updated":"2025-07-25","comments":5,"stars":33702,"raw":"https://awesomereviewers.com/raw/llvm-project-eliminate-redundant-null-checks.md"}],"prompt_count":36},{"slug":"services","title":"Service and framework code","topics":["Fastify","NestJS","Spring","Axum","Celery","Temporal"],"checks":[{"kind":"unit-tests","title":"Unit and integration tests","method":"testing","method_slug":"testing","catches":"Behaviour regressions on the paths the tests exercise.","tool":null,"alternatives":[],"note":null},{"kind":"version-matrix","title":"Version and platform matrix","method":"testing","method_slug":"testing","catches":"Breakage on a runtime version, OS or feature combination you did not run locally.","tool":{"id":"ci-matrix","method":"testing","kind":"version-matrix","languages":["*"],"upstream":"https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations","docs":null,"autofix":false,"exit_codes":{},"repos":3,"share":23,"commands":["analyze (language: 1)","build (os: 3, python-version: 2)","codeql-analyze (language: 3)"],"run":"codeql-analyze (language: 3)","via":null,"triggers":["ci"],"examples":[{"repository":"duckdb/duckdb","slug":"duckdb-duckdb"},{"repository":"Tencent/ncnn","slug":"tencent-ncnn"},{"repository":"maplibre/maplibre-native","slug":"maplibre-maplibre-native"}]},"alternatives":[],"note":null}],"prompts":[],"prompt_count":0},{"slug":"algorithms","title":"Algorithms, parsers, data transforms","topics":["Algorithms"],"checks":[{"kind":"property-tests","title":"Property-based tests","method":"testing","method_slug":"testing","catches":"Edge-case inputs nobody wrote a test for; invariants over generated data.","tool":null,"alternatives":[],"note":null},{"kind":"fuzzing","title":"Fuzzing","method":"testing","method_slug":"testing","catches":"Crashes, panics and hangs on malformed input, especially in parsers and decoders.","tool":null,"alternatives":[],"note":null},{"kind":"mutation-testing","title":"Mutation testing","method":"testing","method_slug":"testing","catches":"Tests that keep passing whatever the code does.","tool":null,"alternatives":[],"note":null},{"kind":"proofs","title":"Proofs and specifications","method":"formal","method_slug":"formal","catches":"Design-level bugs in protocols and algorithms, checked against a specification.","tool":null,"alternatives":[],"note":null}],"prompts":[{"slug":"ncnn-spec-aligned-algorithm-correctness","title":"Spec-aligned Algorithm Correctness","description":"All algorithm implementations must be spec-aligned for the exact operator variant, tensor shapes/axes, and boundary conditions. Before merging, developers should explicitly verify that special cases and out-of-bound behavior follow the framework/ONNX semantics; avoid “one-size-fits-all” code paths that silently produce wrong results.","repository":"Tencent/ncnn","domain":"ml-systems","topic":"Algorithms","language":"C++","updated":"2025-09-24","comments":8,"stars":23205,"raw":"https://awesomereviewers.com/raw/ncnn-spec-aligned-algorithm-correctness.md"},{"slug":"terminal-optimize-algorithmic-choices","title":"optimize algorithmic choices","description":"Choose efficient algorithms and data structures to improve performance and reduce computational overhead. This involves selecting appropriate containers, avoiding unnecessary operations, and leveraging language features for optimization.","repository":"microsoft/terminal","domain":"devtools","topic":"Algorithms","language":"C++","updated":"2025-08-13","comments":8,"stars":99242,"raw":"https://awesomereviewers.com/raw/terminal-optimize-algorithmic-choices.md"},{"slug":"opencv-use-optimized-functions","title":"Use optimized functions","description":"When implementing algorithms, prefer using OpenCV's built-in optimized functions over writing custom implementations. OpenCV's library functions are typically vectorized, extensively tested, and optimized for performance across different platforms and hardware architectures.","repository":"opencv/opencv","domain":"ml-systems","topic":"Algorithms","language":"C++","updated":"2025-04-28","comments":7,"stars":82865,"raw":"https://awesomereviewers.com/raw/opencv-use-optimized-functions.md"},{"slug":"llama.cpp-explicit-control-flow-logic","title":"explicit control flow logic","description":"Use explicit control flow structures like switch statements instead of complex boolean logic or implicit reasoning when handling algorithmic decisions. This improves code clarity, maintainability, and reduces the likelihood of logical errors in computational paths.","repository":"ggml-org/llama.cpp","domain":"llm-infra","topic":"Algorithms","language":"C++","updated":"2025-07-14","comments":6,"stars":83559,"raw":"https://awesomereviewers.com/raw/llama.cpp-explicit-control-flow-logic.md"},{"slug":"clickhouse-optimize-algorithmic-complexity","title":"optimize algorithmic complexity","description":"Always consider the algorithmic complexity and performance implications of data structure choices, memory allocation patterns, and container operations. This includes pre-allocating containers when sizes are known, choosing appropriate data structures based on usage patterns, and measuring performance impact of changes.","repository":"ClickHouse/ClickHouse","domain":"data-systems","topic":"Algorithms","language":"C++","updated":"2025-08-14","comments":5,"stars":42425,"raw":"https://awesomereviewers.com/raw/clickhouse-optimize-algorithmic-complexity.md"},{"slug":"hyprland-optimize-computational-efficiency","title":"optimize computational efficiency","description":"Prioritize algorithmic efficiency and avoid unnecessary computational overhead in performance-critical code paths. Look for opportunities to reduce time complexity and eliminate redundant calculations.","repository":"hyprwm/Hyprland","domain":"devtools","topic":"Algorithms","language":"C++","updated":"2025-07-07","comments":5,"stars":28863,"raw":"https://awesomereviewers.com/raw/hyprland-optimize-computational-efficiency.md"},{"slug":"runtime-abstract-traversal-patterns","title":"Abstract traversal patterns","description":"When implementing algorithms that operate on complex data structures (trees, graphs, dominator structures), abstract the traversal mechanism from the operation performed at each node. Use visitor patterns or callbacks to separate concerns, making algorithms more maintainable and reusable.","repository":"dotnet/runtime","domain":"runtimes","topic":"Algorithms","language":"C++","updated":"2025-07-01","comments":5,"stars":16578,"raw":"https://awesomereviewers.com/raw/runtime-abstract-traversal-patterns.md"},{"slug":"llvm-project-optimize-computational-complexity","title":"optimize computational complexity","description":"When implementing algorithms, be mindful of computational complexity and optimize for efficiency by avoiding expensive operations and reusing existing computations where possible.","repository":"llvm/llvm-project","domain":"runtimes","topic":"Algorithms","language":"C++","updated":"2025-07-28","comments":4,"stars":33702,"raw":"https://awesomereviewers.com/raw/llvm-project-optimize-computational-complexity.md"},{"slug":"duckdb-avoid-redundant-lookups","title":"avoid redundant lookups","description":"When working with associative containers (sets, maps, unordered_set, unordered_map), avoid performing redundant lookups by using single operations that combine lookup and insertion/modification. The common anti-pattern is to first check if an element exists with `find()`, then perform a separate `insert()` operation, which results in two hash table lookups.","repository":"duckdb/duckdb","domain":"data-systems","topic":"Algorithms","language":"C++","updated":"2024-12-15","comments":3,"stars":32061,"raw":"https://awesomereviewers.com/raw/duckdb-avoid-redundant-lookups.md"},{"slug":"pytorch-reuse-existing-algorithms","title":"Reuse existing algorithms","description":"Before implementing common algorithms or utilities, check if the codebase already contains an appropriate implementation. Reusing existing, tested code reduces bugs, improves maintainability, and often provides better performance characteristics.","repository":"pytorch/pytorch","domain":"ml-systems","topic":"Algorithms","language":"C++","updated":"2025-06-24","comments":2,"stars":91345,"raw":"https://awesomereviewers.com/raw/pytorch-reuse-existing-algorithms.md"},{"slug":"maplibre-native-numerical-precision-considerations","title":"Numerical precision considerations","description":"When implementing algorithms involving floating-point calculations, choose epsilon values based on the specific domain requirements rather than defaulting to system-defined constants. Standard values like `std::numeric_limits<double>::epsilon()` are often too small for practical geometric or graphical applications.","repository":"maplibre/maplibre-native","domain":"app-frameworks","topic":"Algorithms","language":"C++","updated":"2025-06-16","comments":2,"stars":1411,"raw":"https://awesomereviewers.com/raw/maplibre-native-numerical-precision-considerations.md"},{"slug":"react-native-avoid-unnecessary-allocations","title":"avoid unnecessary allocations","description":"When implementing algorithms and data structure operations, avoid unnecessary memory allocations, object creation, and data copying that can impact performance. Look for opportunities to leverage existing objects, references, and lazy evaluation patterns.","repository":"facebook/react-native","domain":"app-frameworks","topic":"Algorithms","language":"C++","updated":"2025-05-23","comments":2,"stars":123178,"raw":"https://awesomereviewers.com/raw/react-native-avoid-unnecessary-allocations.md"}],"prompt_count":15},{"slug":"concurrency","title":"Threads, async code, locks, shared state","topics":["Concurrency"],"checks":[{"kind":"concurrency-model-checking","title":"Concurrency model checking","method":"formal","method_slug":"formal","catches":"Races and orderings that fail only under specific interleavings.","tool":null,"alternatives":[],"note":null},{"kind":"ub-detection","title":"Undefined-behaviour detection","method":"formal","method_slug":"formal","catches":"Memory-safety and aliasing violations in unsafe code.","tool":null,"alternatives":[],"note":null},{"kind":"property-tests","title":"Property-based tests","method":"testing","method_slug":"testing","catches":"Edge-case inputs nobody wrote a test for; invariants over generated data.","tool":null,"alternatives":[],"note":null}],"prompts":[{"slug":"terminal-manage-object-lifetimes-carefully","title":"manage object lifetimes carefully","description":"Ensure proper object lifetime management in concurrent scenarios to prevent crashes from dangling pointers and premature destruction. Use weak references for event handlers that may outlive their target objects, and capture strong references in async operations to keep objects alive during coroutine execution.","repository":"microsoft/terminal","domain":"devtools","topic":"Concurrency","language":"C++","updated":"2025-07-22","comments":6,"stars":99242,"raw":"https://awesomereviewers.com/raw/terminal-manage-object-lifetimes-carefully.md"},{"slug":"duckdb-protect-shared-state","title":"Protect shared state","description":"Always protect shared mutable state with appropriate synchronization mechanisms to prevent race conditions and data corruption in multi-threaded environments. Use `std::call_once` for thread-safe initialization, mutexes for protecting shared resources, and carefully consider whether state belongs in global vs local thread contexts.","repository":"duckdb/duckdb","domain":"data-systems","topic":"Concurrency","language":"C++","updated":"2025-07-22","comments":4,"stars":32061,"raw":"https://awesomereviewers.com/raw/duckdb-protect-shared-state.md"},{"slug":"maplibre-native-enforce-clear-data-ownership","title":"Enforce clear data ownership","description":"Always establish and maintain clear ownership semantics in concurrent code to prevent data races. This includes: 1. Use RAII patterns for resource management (especially locks)","repository":"maplibre/maplibre-native","domain":"app-frameworks","topic":"Concurrency","language":"C++","updated":"2025-05-07","comments":4,"stars":1411,"raw":"https://awesomereviewers.com/raw/maplibre-native-enforce-clear-data-ownership.md"},{"slug":"opencv-framework-synchronization-practices","title":"Framework synchronization practices","description":"When implementing concurrent code, always use the framework''s provided synchronization primitives rather than direct language features. This ensures compatibility across all build configurations and platforms:","repository":"opencv/opencv","domain":"ml-systems","topic":"Concurrency","language":"C++","updated":"2025-04-02","comments":4,"stars":82865,"raw":"https://awesomereviewers.com/raw/opencv-framework-synchronization-practices.md"},{"slug":"yoga-evaluate-synchronization-necessity","title":"Evaluate synchronization necessity","description":"Before implementing thread safety mechanisms like atomic operations or mutexes for global variables, critically assess whether perfect synchronization is actually required for program correctness. Consider the performance cost of synchronization against the importance of data accuracy.","repository":"facebook/yoga","domain":"runtimes","topic":"Concurrency","language":"C++","updated":"2022-10-03","comments":4,"stars":18255,"raw":"https://awesomereviewers.com/raw/yoga-evaluate-synchronization-necessity.md"},{"slug":"runtime-memory-ordering-matters","title":"Memory ordering matters","description":"When working with shared data in multithreaded environments, memory ordering is critical to prevent race conditions and ensure thread safety: 1. **Avoid transient incorrect states** - Don''t write an incorrect value before replacing it with the correct one, as other threads may see the intermediate state:","repository":"dotnet/runtime","domain":"runtimes","topic":"Concurrency","language":"C++","updated":"2025-07-01","comments":3,"stars":16578,"raw":"https://awesomereviewers.com/raw/runtime-memory-ordering-matters.md"},{"slug":"clickhouse-consistent-mutex-protection","title":"consistent mutex protection","description":"Ensure consistent mutex usage across all access points to shared data structures and clearly document what each mutex protects. Inconsistent locking can lead to race conditions, data corruption, and crashes.","repository":"ClickHouse/ClickHouse","domain":"data-systems","topic":"Concurrency","language":"C++","updated":"2025-08-11","comments":2,"stars":42425,"raw":"https://awesomereviewers.com/raw/clickhouse-consistent-mutex-protection.md"},{"slug":"llvm-project-protect-shared-data","title":"protect shared data","description":"Always protect shared data that can be accessed by multiple threads using appropriate synchronization mechanisms. Identify potential race conditions where shared state could be modified concurrently and choose the right protection mechanism.","repository":"llvm/llvm-project","domain":"runtimes","topic":"Concurrency","language":"C++","updated":"2025-07-24","comments":2,"stars":33702,"raw":"https://awesomereviewers.com/raw/llvm-project-protect-shared-data.md"},{"slug":"hyprland-weak-pointer-callback-safety","title":"weak pointer callback safety","description":"When capturing objects in callbacks or lambdas that may execute asynchronously, use weak pointers instead of raw pointers or shared pointers to prevent use-after-free bugs. Always validate the weak pointer before dereferencing it, and avoid redundant lock() calls on the same weak pointer.","repository":"hyprwm/Hyprland","domain":"devtools","topic":"Concurrency","language":"C++","updated":"2025-07-09","comments":2,"stars":28863,"raw":"https://awesomereviewers.com/raw/hyprland-weak-pointer-callback-safety.md"},{"slug":"bun-thread-safe-state-transitions","title":"Thread-safe state transitions","description":"When modifying shared state in multithreaded code, implement proper checks and state transitions to prevent race conditions. This applies to flags, counters, and resource management.","repository":"oven-sh/bun","domain":"runtimes","topic":"Concurrency","language":"C++","updated":"2025-05-28","comments":2,"stars":79093,"raw":"https://awesomereviewers.com/raw/bun-thread-safe-state-transitions.md"}],"prompt_count":10},{"slug":"networking","title":"Network calls, retries, timeouts, protocols","topics":["Networking","Axios"],"checks":[{"kind":"unit-tests","title":"Unit and integration tests","method":"testing","method_slug":"testing","catches":"Behaviour regressions on the paths the tests exercise.","tool":null,"alternatives":[],"note":null},{"kind":"fuzzing","title":"Fuzzing","method":"testing","method_slug":"testing","catches":"Crashes, panics and hangs on malformed input, especially in parsers and decoders.","tool":null,"alternatives":[],"note":null}],"prompts":[{"slug":"clickhouse-avoid-duplicate-http-headers","title":"Avoid duplicate HTTP headers","description":"Ensure HTTP headers are sent only once per response to prevent network protocol violations and connection errors. Sending headers multiple times violates HTTP protocol standards and can cause \"Broken pipe\" errors and connection failures.","repository":"ClickHouse/ClickHouse","domain":"data-systems","topic":"Networking","language":"C++","updated":"2025-08-12","comments":3,"stars":42425,"raw":"https://awesomereviewers.com/raw/clickhouse-avoid-duplicate-http-headers.md"},{"slug":"runtime-platform-agnostic-network-apis","title":"Platform-agnostic network APIs","description":"When implementing networking functionality, ensure code uses platform-agnostic APIs and appropriate abstraction layers to handle differences between Windows, Unix, and macOS systems. Similar to how string operations require platform-specific handling (as seen in discussion 1 where `strchr` was replaced with `app_candidate.find(DIR_SEPARATOR)`), networking...","repository":"dotnet/runtime","domain":"runtimes","topic":"Networking","language":"C++","updated":"2025-06-24","comments":3,"stars":16578,"raw":"https://awesomereviewers.com/raw/runtime-platform-agnostic-network-apis.md"},{"slug":"bun-validate-network-inputs","title":"Validate network inputs","description":"Network code must validate all inputs and handle error conditions properly to prevent security vulnerabilities and reliability issues. This includes:","repository":"oven-sh/bun","domain":"runtimes","topic":"Networking","language":"C++","updated":"2025-06-03","comments":2,"stars":79093,"raw":"https://awesomereviewers.com/raw/bun-validate-network-inputs.md"},{"slug":"terminal-protocol-response-formatting","title":"Protocol response formatting","description":"When implementing terminal protocol responses (CSI, DCS, OSC sequences), ensure proper formatting with correct terminators and maintain protocol transparency. Terminal protocols require specific response formats with appropriate terminators - CSI responses should use the same C1 mode as the request, DCS responses need proper DCS/ST framing, and OSC...","repository":"microsoft/terminal","domain":"devtools","topic":"Networking","language":"C++","updated":"2024-10-05","comments":2,"stars":99242,"raw":"https://awesomereviewers.com/raw/terminal-protocol-response-formatting.md"}],"prompt_count":4},{"slug":"ui","title":"UI components and pages","topics":["React","Next","Next.js","Vue","Angular"],"checks":[{"kind":"browser-tests","title":"End-to-end browser tests","method":"testing","method_slug":"testing","catches":"User flows broken across components, routing and the network.","tool":null,"alternatives":[],"note":null},{"kind":"linting","title":"Linting","method":"static_analysis","method_slug":"static-analysis","catches":"Bug-prone patterns, unused code and conventions the formatter does not cover.","tool":null,"alternatives":[],"note":null}],"prompts":[],"prompt_count":0},{"slug":"data","title":"Databases, migrations, caching","topics":["Database","Migrations","Caching"],"checks":[{"kind":"unit-tests","title":"Unit and integration tests","method":"testing","method_slug":"testing","catches":"Behaviour regressions on the paths the tests exercise.","tool":null,"alternatives":[],"note":null},{"kind":"version-matrix","title":"Version and platform matrix","method":"testing","method_slug":"testing","catches":"Breakage on a runtime version, OS or feature combination you did not run locally.","tool":{"id":"ci-matrix","method":"testing","kind":"version-matrix","languages":["*"],"upstream":"https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations","docs":null,"autofix":false,"exit_codes":{},"repos":3,"share":23,"commands":["analyze (language: 1)","build (os: 3, python-version: 2)","codeql-analyze (language: 3)"],"run":"codeql-analyze (language: 3)","via":null,"triggers":["ci"],"examples":[{"repository":"duckdb/duckdb","slug":"duckdb-duckdb"},{"repository":"Tencent/ncnn","slug":"tencent-ncnn"},{"repository":"maplibre/maplibre-native","slug":"maplibre-maplibre-native"}]},"alternatives":[],"note":null}],"prompts":[{"slug":"clickhouse-validate-before-executing-operations","title":"validate before executing operations","description":"Always validate inputs and preconditions before executing database operations, and fail explicitly rather than silently ignoring invalid states or configurations. This prevents data corruption, ensures system consistency, and makes debugging easier.","repository":"ClickHouse/ClickHouse","domain":"data-systems","topic":"Database","language":"C++","updated":"2025-08-19","comments":8,"stars":42425,"raw":"https://awesomereviewers.com/raw/clickhouse-validate-before-executing-operations.md"},{"slug":"duckdb-validate-inputs-comprehensively","title":"validate inputs comprehensively","description":"Ensure thorough input validation and comprehensive edge case handling in database operations. This includes checking parameter validity, handling null inputs, testing boundary conditions, and covering all comparison operators or function variants.","repository":"duckdb/duckdb","domain":"data-systems","topic":"Database","language":"C++","updated":"2025-08-18","comments":5,"stars":32061,"raw":"https://awesomereviewers.com/raw/duckdb-validate-inputs-comprehensively.md"},{"slug":"duckdb-use-default-serialization-methods","title":"use default serialization methods","description":"When adding new properties to serialization methods, use `WritePropertyWithDefault` and `ReadPropertyWithDefault` instead of `WriteProperty` and `ReadProperty` to maintain backwards compatibility. This ensures that older versions can still deserialize data written by newer versions by providing sensible defaults for missing properties.","repository":"duckdb/duckdb","domain":"data-systems","topic":"Migrations","language":"C++","updated":"2025-05-19","comments":3,"stars":32061,"raw":"https://awesomereviewers.com/raw/duckdb-use-default-serialization-methods.md"},{"slug":"bun-optimize-database-interactions","title":"Optimize database interactions","description":"When working with database operations, prioritize efficiency by avoiding redundant query executions. Instead of executing statements multiple times to gather different pieces of information (like metadata or column types), cache or collect all necessary data during the initial execution.","repository":"oven-sh/bun","domain":"runtimes","topic":"Database","language":"C++","updated":"2025-06-06","comments":2,"stars":79093,"raw":"https://awesomereviewers.com/raw/bun-optimize-database-interactions.md"},{"slug":"clickhouse-avoid-redundant-cache-lookups","title":"avoid redundant cache lookups","description":"When implementing cache functionality, avoid performing the same cache lookup multiple times. Instead, store and reuse the result from the first lookup to improve performance.","repository":"ClickHouse/ClickHouse","domain":"data-systems","topic":"Caching","language":"C++","updated":"2025-03-19","comments":2,"stars":42425,"raw":"https://awesomereviewers.com/raw/clickhouse-avoid-redundant-cache-lookups.md"}],"prompt_count":5},{"slug":"performance","title":"Hot paths and performance","topics":["Performance Optimization"],"checks":[],"prompts":[{"slug":"clickhouse-avoid-unnecessary-allocations","title":"Avoid unnecessary allocations","description":"Minimize memory allocations, data copying, and expensive operations by implementing early exits, using move semantics, and choosing appropriate buffer management strategies.","repository":"ClickHouse/ClickHouse","domain":"data-systems","topic":"Performance Optimization","language":"C++","updated":"2025-08-13","comments":11,"stars":42425,"raw":"https://awesomereviewers.com/raw/clickhouse-avoid-unnecessary-allocations.md"},{"slug":"terminal-cache-expensive-computations","title":"Cache expensive computations","description":"Identify and cache the results of expensive operations that are computed repeatedly with the same inputs. This includes function calls, data structure creation, regex compilation, and complex calculations that don't change between invocations.","repository":"microsoft/terminal","domain":"devtools","topic":"Performance Optimization","language":"C++","updated":"2025-07-14","comments":8,"stars":99242,"raw":"https://awesomereviewers.com/raw/terminal-cache-expensive-computations.md"},{"slug":"ncnn-unrolled-simd-locality","title":"Unrolled SIMD Locality","description":"When optimizing hot kernels (SIMD/vectorized paths), remove avoidable overhead and improve locality: 1) Unroll small fixed-size tails (e.g., remainder=4)","repository":"Tencent/ncnn","domain":"ml-systems","topic":"Performance Optimization","language":"C++","updated":"2025-08-21","comments":7,"stars":23205,"raw":"https://awesomereviewers.com/raw/ncnn-unrolled-simd-locality.md"},{"slug":"duckdb-avoid-repeated-expensive-operations","title":"avoid repeated expensive operations","description":"Identify and eliminate repeated expensive computations, especially in loops and frequently executed code paths. This optimization principle focuses on moving invariant calculations outside loops, caching results of expensive operations, and avoiding unnecessary data conversions or memory allocations.","repository":"duckdb/duckdb","domain":"data-systems","topic":"Performance Optimization","language":"C++","updated":"2025-08-08","comments":7,"stars":32061,"raw":"https://awesomereviewers.com/raw/duckdb-avoid-repeated-expensive-operations.md"},{"slug":"llvm-project-avoid-unnecessary-allocations","title":"avoid unnecessary allocations","description":"Minimize performance overhead by avoiding unnecessary memory allocations, expensive data structures, and redundant object creation. Choose appropriate data types and parameter passing methods based on actual requirements rather than convenience.","repository":"llvm/llvm-project","domain":"runtimes","topic":"Performance Optimization","language":"C++","updated":"2025-07-28","comments":7,"stars":33702,"raw":"https://awesomereviewers.com/raw/llvm-project-avoid-unnecessary-allocations.md"},{"slug":"hyprland-avoid-expensive-hot-paths","title":"avoid expensive hot paths","description":"Identify and optimize expensive operations in frequently executed code paths to prevent performance bottlenecks. Hot paths include rendering loops, input event handlers, and frequently called utility functions.","repository":"hyprwm/Hyprland","domain":"devtools","topic":"Performance Optimization","language":"C++","updated":"2025-07-20","comments":7,"stars":28863,"raw":"https://awesomereviewers.com/raw/hyprland-avoid-expensive-hot-paths.md"},{"slug":"runtime-model-actual-hardware-costs","title":"Model actual hardware costs","description":"Base optimization decisions on accurate hardware cost models rather than outdated assumptions. Modern architectures have different performance characteristics for operations than older hardware, especially for SIMD and memory operations.","repository":"dotnet/runtime","domain":"runtimes","topic":"Performance Optimization","language":"C++","updated":"2025-06-28","comments":6,"stars":16578,"raw":"https://awesomereviewers.com/raw/runtime-model-actual-hardware-costs.md"},{"slug":"llama.cpp-measure-before-optimizing","title":"measure before optimizing","description":"Always profile and measure performance impact before implementing optimizations, especially micro-optimizations. Many seemingly beneficial optimizations provide no measurable improvement and can hurt code maintainability.","repository":"ggml-org/llama.cpp","domain":"llm-infra","topic":"Performance Optimization","language":"C++","updated":"2025-07-16","comments":5,"stars":83559,"raw":"https://awesomereviewers.com/raw/llama.cpp-measure-before-optimizing.md"},{"slug":"opencv-optimize-memory-allocation-patterns","title":"Optimize memory allocation patterns","description":"Prefer efficient memory allocation patterns to improve performance. Key practices: 1. Use RAII containers (like Mat) instead of raw pointers to prevent memory leaks","repository":"opencv/opencv","domain":"ml-systems","topic":"Performance Optimization","language":"C++","updated":"2025-06-17","comments":5,"stars":82865,"raw":"https://awesomereviewers.com/raw/opencv-optimize-memory-allocation-patterns.md"},{"slug":"pytorch-optimize-memory-usage","title":"Optimize memory usage","description":"Limit memory consumption in performance-critical paths by conditionally creating large data structures or deferring allocation until needed. Large tracking structures, debug information, and memory-intensive operations should be guarded by configuration flags to prevent them from impacting performance in production environments.","repository":"pytorch/pytorch","domain":"ml-systems","topic":"Performance Optimization","language":"C++","updated":"2025-07-02","comments":4,"stars":91345,"raw":"https://awesomereviewers.com/raw/pytorch-optimize-memory-usage.md"},{"slug":"maplibre-native-preallocate-collection-capacity","title":"Preallocate collection capacity","description":"When the final size of a collection is known before adding elements, use `reserve()` to preallocate memory capacity. This optimization eliminates multiple reallocations and copy operations during insertions, improving both performance and memory usage patterns. This is particularly beneficial in performance-critical code paths where collections are...","repository":"maplibre/maplibre-native","domain":"app-frameworks","topic":"Performance Optimization","language":"C++","updated":"2024-10-15","comments":4,"stars":1411,"raw":"https://awesomereviewers.com/raw/maplibre-native-preallocate-collection-capacity.md"},{"slug":"bun-cache-repeated-accesses","title":"Cache repeated accesses","description":"When accessing the same property or calling the same function multiple times, especially in loops or performance-critical sections, cache the result in a local variable. This reduces redundant memory access operations and improves execution speed.","repository":"oven-sh/bun","domain":"runtimes","topic":"Performance Optimization","language":"C++","updated":"2025-06-13","comments":2,"stars":79093,"raw":"https://awesomereviewers.com/raw/bun-cache-repeated-accesses.md"}],"prompt_count":15},{"slug":"ai","title":"Model, prompt and LLM code","topics":["AI","Pytorch"],"checks":[{"kind":"unit-tests","title":"Unit and integration tests","method":"testing","method_slug":"testing","catches":"Behaviour regressions on the paths the tests exercise.","tool":null,"alternatives":[],"note":null}],"prompts":[{"slug":"pytorch-optimize-numerical-precision","title":"Optimize numerical precision","description":"When implementing AI operations that involve matrix multiplication or neural network components, explicitly support modern numerical precision formats (TF32, BFloat16, Float8) across different hardware backends. These precision formats significantly accelerate AI training and inference while maintaining acceptable numerical accuracy.","repository":"pytorch/pytorch","domain":"ml-systems","topic":"AI","language":"C++","updated":"2025-07-08","comments":8,"stars":91345,"raw":"https://awesomereviewers.com/raw/pytorch-optimize-numerical-precision.md"},{"slug":"llama.cpp-use-model-metadata","title":"use model metadata","description":"Leverage model metadata from GGUF format instead of hardcoded configuration values or filename-based logic. Model metadata provides authoritative information about model behavior and should be the primary source for configuration decisions.","repository":"ggml-org/llama.cpp","domain":"llm-infra","topic":"AI","language":"C++","updated":"2025-07-26","comments":5,"stars":83559,"raw":"https://awesomereviewers.com/raw/llama.cpp-use-model-metadata.md"},{"slug":"ncnn-inference-compatibility-rules","title":"Inference Compatibility Rules","description":"Ensure layer math, parameter semantics, and model conversion/backends remain consistent so inference results don’t silently change. Apply these rules:","repository":"Tencent/ncnn","domain":"ml-systems","topic":"AI","language":"C++","updated":"2023-09-14","comments":5,"stars":23205,"raw":"https://awesomereviewers.com/raw/ncnn-inference-compatibility-rules.md"},{"slug":"opencv-validate-tensor-dimensions","title":"Validate tensor dimensions","description":"When implementing AI model inference code, always validate tensor dimensions and shapes before manipulating them. Neural network outputs often have complex multi-dimensional structures that require careful handling. Adding explicit dimension checks prevents subtle runtime errors, improves code robustness, and makes debugging easier.","repository":"opencv/opencv","domain":"ml-systems","topic":"AI","language":"C++","updated":"2025-06-10","comments":3,"stars":82865,"raw":"https://awesomereviewers.com/raw/opencv-validate-tensor-dimensions.md"},{"slug":"pytorch-actionable-error-messages","title":"Actionable error messages","description":"When writing error messages in PyTorch code, include not only what went wrong but also clear guidance on how to fix the issue. This helps users quickly understand and resolve problems without digging through documentation.","repository":"pytorch/pytorch","domain":"ml-systems","topic":"Pytorch","language":"C++","updated":"2025-07-03","comments":2,"stars":91345,"raw":"https://awesomereviewers.com/raw/pytorch-actionable-error-messages.md"},{"slug":"ollama-ai-dependency-decoupling-strategy","title":"AI dependency decoupling strategy","description":"Implement clear boundaries between your core AI system and external machine learning libraries through abstraction layers. This facilitates future library updates or replacements as AI technology evolves. When integrating external libraries (like llama.cpp), establish documented synchronization processes and gradually work toward independence, especially...","repository":"ollama/ollama","domain":"llm-infra","topic":"AI","language":"C++","updated":"2025-03-10","comments":2,"stars":145705,"raw":"https://awesomereviewers.com/raw/ollama-ai-dependency-decoupling-strategy.md"},{"slug":"deeplearning4j-document-ai-implementation-references","title":"Document AI implementation references","description":"When implementing AI algorithms or neural network operations, document the sources of specific implementation choices, especially for parameters or techniques that might appear arbitrary or unusual at first glance. Include references to established AI frameworks, research papers, or model implementations that informed your approach.","repository":"deeplearning4j/deeplearning4j","domain":"ml-systems","topic":"AI","language":"C++","updated":"2019-04-11","comments":2,"stars":14036,"raw":"https://awesomereviewers.com/raw/deeplearning4j-document-ai-implementation-references.md"}],"prompt_count":7},{"slug":"observability","title":"Logging, metrics, tracing","topics":["Logging","Observability"],"checks":[],"prompts":[{"slug":"maplibre-native-use-proper-logging","title":"Use proper logging","description":"Always use the project's standard logging system (mbgl::Log) with appropriate log levels instead of ad-hoc solutions like std::cout, printf, or custom logging macros. This ensures consistent log formatting, proper filtering, and integration with test frameworks.","repository":"maplibre/maplibre-native","domain":"app-frameworks","topic":"Logging","language":"C++","updated":"2025-06-04","comments":4,"stars":1411,"raw":"https://awesomereviewers.com/raw/maplibre-native-use-proper-logging.md"},{"slug":"duckdb-guard-expensive-logging-operations","title":"Guard expensive logging operations","description":"Avoid executing expensive operations in logging code paths when logging is disabled or not needed. Always check if logging should occur before performing costly operations like string construction, formatting, or data processing for log messages.","repository":"duckdb/duckdb","domain":"data-systems","topic":"Logging","language":"C++","updated":"2025-08-06","comments":3,"stars":32061,"raw":"https://awesomereviewers.com/raw/duckdb-guard-expensive-logging-operations.md"},{"slug":"deeplearning4j-use-appropriate-logging-levels","title":"Use appropriate logging levels","description":"Reserve logging statements for their appropriate purposes and levels. Use debugging-level logs (`sd_debug`) for development-time diagnostic information, and only use standard printing functions (`sd_printf`) for critical user-facing messages or error conditions. Excessive or incorrectly leveled logging creates noise in production systems and can impact...","repository":"deeplearning4j/deeplearning4j","domain":"ml-systems","topic":"Logging","language":"C++","updated":"2023-02-03","comments":3,"stars":14036,"raw":"https://awesomereviewers.com/raw/deeplearning4j-use-appropriate-logging-levels.md"},{"slug":"maplibre-native-conditional-observability-instrumentation","title":"Conditional observability instrumentation","description":"Wrap all tracing, profiling, and debugging instrumentation in appropriate conditional compilation blocks (like `MLN_TRACY_ENABLE`) to prevent performance overhead in production builds. When adding trace points:","repository":"maplibre/maplibre-native","domain":"app-frameworks","topic":"Observability","language":"C++","updated":"2024-08-26","comments":2,"stars":1411,"raw":"https://awesomereviewers.com/raw/maplibre-native-conditional-observability-instrumentation.md"}],"prompt_count":4},{"slug":"ci-config","title":"CI workflows and configuration files","topics":["CI/CD","Configurations"],"checks":[{"kind":"workflow-linting","title":"CI workflow linting","method":"static_analysis","method_slug":"static-analysis","catches":"Broken GitHub Actions syntax, script injection, over-broad token permissions.","tool":null,"alternatives":[],"note":null},{"kind":"file-hygiene","title":"File hygiene","method":"formatting","method_slug":"formatting","catches":"Invalid JSON, YAML or TOML, merge markers, trailing whitespace, oversized files.","tool":{"id":"pre-commit-hooks","method":"formatting","kind":"file-hygiene","languages":["*"],"upstream":"https://github.com/pre-commit/pre-commit-hooks","docs":null,"autofix":true,"exit_codes":{},"repos":2,"share":15,"commands":["pre-commit hook check-added-large-files","pre-commit hook check-yaml","pre-commit hook end-of-file-fixer"],"run":null,"via":"pre-commit hook check-yaml","triggers":["pre_commit","ci"],"examples":[{"repository":"ggml-org/llama.cpp","slug":"ggml-org-llama.cpp"},{"repository":"maplibre/maplibre-native","slug":"maplibre-maplibre-native"}]},"alternatives":[],"note":null}],"prompts":[{"slug":"ncnn-capability-guarded-configuration","title":"Capability-Guarded Configuration","description":"When code depends on environment/build features (SIMD/FP16 availability, OpenCV versioned APIs, packing layout support, OS/ABI-specific macros), you must (1) gate the code at compile time with the correct macros and (2) reflect the real capability in the backend’s `support_*` flags so the framework won’t select an unsupported execution path.","repository":"Tencent/ncnn","domain":"ml-systems","topic":"Configurations","language":"C++","updated":"2026-01-03","comments":6,"stars":23205,"raw":"https://awesomereviewers.com/raw/ncnn-capability-guarded-configuration.md"},{"slug":"hyprland-dynamic-configuration-handling","title":"Dynamic configuration handling","description":"When implementing configuration changes that need to be applied at runtime, follow these practices: 1. **Use reload mechanisms instead of immediate handling**: Don''t process configuration changes directly in dispatch functions. Instead, trigger reloads through proper channels.","repository":"hyprwm/Hyprland","domain":"devtools","topic":"Configurations","language":"C++","updated":"2025-06-15","comments":6,"stars":28863,"raw":"https://awesomereviewers.com/raw/hyprland-dynamic-configuration-handling.md"},{"slug":"clickhouse-setting-declaration-practices","title":"Setting declaration practices","description":"Always declare settings before using them and optimize access patterns for performance. Settings must be properly declared in the appropriate scope before being referenced in code. When accessing settings multiple times, cache the value in a local variable to avoid repeated lookups. For configuration parsing, avoid modifying AST nodes directly and use local...","repository":"ClickHouse/ClickHouse","domain":"data-systems","topic":"Configurations","language":"C++","updated":"2025-08-08","comments":4,"stars":42425,"raw":"https://awesomereviewers.com/raw/clickhouse-setting-declaration-practices.md"},{"slug":"llvm-project-configuration-completeness-validation","title":"Configuration completeness validation","description":"Ensure configuration options are complete and properly validated before use. When implementing configuration parsing or option handling, verify that all expected cases are covered and add appropriate validation checks for user inputs.","repository":"llvm/llvm-project","domain":"runtimes","topic":"Configurations","language":"C++","updated":"2025-07-28","comments":4,"stars":33702,"raw":"https://awesomereviewers.com/raw/llvm-project-configuration-completeness-validation.md"},{"slug":"duckdb-prefer-settings-over-pragmas","title":"prefer settings over pragmas","description":"When implementing configuration options, prefer database settings over pragma functions to maintain consistency and better user experience. Settings provide a unified interface that's easier to discover, document, and manage compared to scattered pragma functions.","repository":"duckdb/duckdb","domain":"data-systems","topic":"Configurations","language":"C++","updated":"2025-07-07","comments":4,"stars":32061,"raw":"https://awesomereviewers.com/raw/duckdb-prefer-settings-over-pragmas.md"},{"slug":"runtime-structure-configuration-options","title":"Structure configuration options","description":"Design and document configuration options (feature flags, environment variables, conditional compilation) to be clear, consistent, and maintainable. Group related configurations together and avoid unnecessary splits or redundancies. Document the purpose and behavior of each option, including valid values and interaction effects.","repository":"dotnet/runtime","domain":"runtimes","topic":"Configurations","language":"C++","updated":"2025-06-20","comments":4,"stars":16578,"raw":"https://awesomereviewers.com/raw/runtime-structure-configuration-options.md"},{"slug":"terminal-validate-before-configuration-generation","title":"Validate before configuration generation","description":"Always validate system capabilities and existing configuration state before generating new configuration entries or profiles. This prevents unnecessary configuration generation, improves startup performance, and avoids presenting unusable options to users.","repository":"microsoft/terminal","domain":"devtools","topic":"Configurations","language":"C++","updated":"2025-06-12","comments":4,"stars":99242,"raw":"https://awesomereviewers.com/raw/terminal-validate-before-configuration-generation.md"},{"slug":"maplibre-native-externalize-config-values","title":"Externalize config values","description":"Replace hardcoded \"magic numbers\" and environment-specific logic with externally configurable values. Use preprocessor definitions, build flags, or configuration constants to make your code adaptable to different environments and requirements.","repository":"maplibre/maplibre-native","domain":"app-frameworks","topic":"Configurations","language":"C++","updated":"2024-07-29","comments":3,"stars":1411,"raw":"https://awesomereviewers.com/raw/maplibre-native-externalize-config-values.md"},{"slug":"llama.cpp-use-strongly-typed-configurations","title":"Use strongly typed configurations","description":"Prefer strongly typed configuration values over primitive types to improve code safety and clarity. Use enum classes instead of raw strings for categorical options, and proper boolean types instead of integer flags for binary settings.","repository":"ggml-org/llama.cpp","domain":"llm-infra","topic":"Configurations","language":"C++","updated":"2025-07-16","comments":2,"stars":83559,"raw":"https://awesomereviewers.com/raw/llama.cpp-use-strongly-typed-configurations.md"},{"slug":"react-native-platform-aware-configuration-messages","title":"platform-aware configuration messages","description":"Configuration-related error messages, troubleshooting guidance, and feature flags should be accurate and account for platform-specific differences. When providing configuration instructions or enabling features conditionally, ensure the guidance reflects the actual capabilities and limitations of each target platform.","repository":"facebook/react-native","domain":"app-frameworks","topic":"Configurations","language":"C++","updated":"2025-02-13","comments":2,"stars":123178,"raw":"https://awesomereviewers.com/raw/react-native-platform-aware-configuration-messages.md"},{"slug":"yoga-safe-configuration-definitions","title":"Safe configuration definitions","description":"When defining configuration flags and options, use practices that ensure compatibility across different preprocessors and build environments. For macro-based configuration flags, use integer values (0/1) instead of boolean literals (true/false) to avoid preprocessor compatibility issues. Additionally, consider using runtime configuration mechanisms (like...","repository":"facebook/yoga","domain":"runtimes","topic":"Configurations","language":"C++","updated":"2020-04-08","comments":2,"stars":18255,"raw":"https://awesomereviewers.com/raw/yoga-safe-configuration-definitions.md"}],"prompt_count":11},{"slug":"dependencies","title":"Dependencies and lockfiles","topics":[],"checks":[{"kind":"dependency-audit","title":"Dependency audit","method":"supply_chain","method_slug":"supply-chain","catches":"Known-vulnerable or disallowed dependencies and licenses.","tool":null,"alternatives":[],"note":null},{"kind":"lockfile-check","title":"Lockfile consistency","method":"supply_chain","method_slug":"supply-chain","catches":"A lockfile that no longer matches its manifest.","tool":null,"alternatives":[],"note":null},{"kind":"version-matrix","title":"Version and platform matrix","method":"testing","method_slug":"testing","catches":"Breakage on a runtime version, OS or feature combination you did not run locally.","tool":{"id":"ci-matrix","method":"testing","kind":"version-matrix","languages":["*"],"upstream":"https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations","docs":null,"autofix":false,"exit_codes":{},"repos":3,"share":23,"commands":["analyze (language: 1)","build (os: 3, python-version: 2)","codeql-analyze (language: 3)"],"run":"codeql-analyze (language: 3)","via":null,"triggers":["ci"],"examples":[{"repository":"duckdb/duckdb","slug":"duckdb-duckdb"},{"repository":"Tencent/ncnn","slug":"tencent-ncnn"},{"repository":"maplibre/maplibre-native","slug":"maplibre-maplibre-native"}]},"alternatives":[],"note":null}],"prompts":[],"prompt_count":0},{"slug":"tests","title":"The tests themselves","topics":["Testing"],"checks":[{"kind":"mutation-testing","title":"Mutation testing","method":"testing","method_slug":"testing","catches":"Tests that keep passing whatever the code does.","tool":null,"alternatives":[],"note":null},{"kind":"version-matrix","title":"Version and platform matrix","method":"testing","method_slug":"testing","catches":"Breakage on a runtime version, OS or feature combination you did not run locally.","tool":{"id":"ci-matrix","method":"testing","kind":"version-matrix","languages":["*"],"upstream":"https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations","docs":null,"autofix":false,"exit_codes":{},"repos":3,"share":23,"commands":["analyze (language: 1)","build (os: 3, python-version: 2)","codeql-analyze (language: 3)"],"run":"codeql-analyze (language: 3)","via":null,"triggers":["ci"],"examples":[{"repository":"duckdb/duckdb","slug":"duckdb-duckdb"},{"repository":"Tencent/ncnn","slug":"tencent-ncnn"},{"repository":"maplibre/maplibre-native","slug":"maplibre-maplibre-native"}]},"alternatives":[],"note":null}],"prompts":[{"slug":"llvm-project-comprehensive-test-coverage","title":"comprehensive test coverage","description":"Tests should comprehensively cover all relevant scenarios, including return values, edge cases, different compilation modes, and abnormal conditions. This includes:","repository":"llvm/llvm-project","domain":"runtimes","topic":"Testing","language":"C++","updated":"2025-07-24","comments":7,"stars":33702,"raw":"https://awesomereviewers.com/raw/llvm-project-comprehensive-test-coverage.md"},{"slug":"opencv-use-proper-assertions","title":"Use proper assertions","description":"Write tests with proper assertions to ensure reliability and maintainability. Follow these guidelines: 1. **Check for empty data** before proceeding with tests to prevent invalid test conditions:","repository":"opencv/opencv","domain":"ml-systems","topic":"Testing","language":"C++","updated":"2025-06-02","comments":7,"stars":82865,"raw":"https://awesomereviewers.com/raw/opencv-use-proper-assertions.md"},{"slug":"ncnn-intentional-test-coverage","title":"Intentional Test Coverage","description":"All unit tests should be (1) intentionally designed for coverage, (2) non-redundant, and (3) maintainable. Apply these rules: 1) Enforce correctness with invariants","repository":"Tencent/ncnn","domain":"ml-systems","topic":"Testing","language":"C++","updated":"2025-03-07","comments":4,"stars":23205,"raw":"https://awesomereviewers.com/raw/ncnn-intentional-test-coverage.md"},{"slug":"llama.cpp-systematic-test-coverage","title":"systematic test coverage","description":"When writing tests that need to cover multiple scenarios (different data types, backend capabilities, etc.), structure them systematically rather than duplicating code or hardcoding conditional logic.","repository":"ggml-org/llama.cpp","domain":"llm-infra","topic":"Testing","language":"C++","updated":"2025-07-25","comments":3,"stars":83559,"raw":"https://awesomereviewers.com/raw/llama.cpp-systematic-test-coverage.md"},{"slug":"maplibre-native-use-specific-test-assertions","title":"Use specific test assertions","description":"Always use the most specific test assertion method available for your test case rather than generic assertions. Specific assertions provide better error messages and make test failures easier to debug.","repository":"maplibre/maplibre-native","domain":"app-frameworks","topic":"Testing","language":"C++","updated":"2025-06-20","comments":2,"stars":1411,"raw":"https://awesomereviewers.com/raw/maplibre-native-use-specific-test-assertions.md"}],"prompt_count":5},{"slug":"docs","title":"Documentation and comments","topics":["Documentation"],"checks":[{"kind":"docs-build","title":"Docs build","method":"static_analysis","method_slug":"static-analysis","catches":"Broken cross-references, links and markup in documentation.","tool":null,"alternatives":[],"note":null},{"kind":"spelling","title":"Spelling","method":"formatting","method_slug":"formatting","catches":"Typos in identifiers, comments and docs.","tool":{"id":"codespell","method":"formatting","kind":"spelling","languages":["*"],"upstream":"https://github.com/codespell-project/codespell","docs":null,"autofix":false,"exit_codes":{},"repos":1,"share":8,"commands":[],"run":null,"via":null,"triggers":[],"examples":[{"repository":"pytorch/pytorch","slug":"pytorch-pytorch"}]},"alternatives":[],"note":null}],"prompts":[{"slug":"llvm-project-provide-contextual-code-documentation","title":"Provide contextual code documentation","description":"Code should include documentation that explains the purpose, rationale, and context behind implementation decisions, not just what the code does. This helps future maintainers understand the reasoning and makes the codebase more maintainable.","repository":"llvm/llvm-project","domain":"runtimes","topic":"Documentation","language":"C++","updated":"2025-07-25","comments":6,"stars":33702,"raw":"https://awesomereviewers.com/raw/llvm-project-provide-contextual-code-documentation.md"},{"slug":"clickhouse-documentation-precision-standards","title":"Documentation precision standards","description":"Ensure API documentation uses precise type specifications, proper formatting, and clear language to improve developer understanding and usability. Key requirements:","repository":"ClickHouse/ClickHouse","domain":"data-systems","topic":"Documentation","language":"C++","updated":"2025-08-15","comments":4,"stars":42425,"raw":"https://awesomereviewers.com/raw/clickhouse-documentation-precision-standards.md"},{"slug":"terminal-document-implementation-rationale","title":"Document implementation rationale","description":"Add comments that explain the reasoning behind non-obvious code decisions, technical constraints, or complex logic, while avoiding over-documentation of self-evident functionality. Focus on the \"why\" rather than the \"what\" - document implementation choices that future developers (including yourself) might need to rediscover.","repository":"microsoft/terminal","domain":"devtools","topic":"Documentation","language":"C++","updated":"2025-08-05","comments":3,"stars":99242,"raw":"https://awesomereviewers.com/raw/terminal-document-implementation-rationale.md"},{"slug":"runtime-document-function-contracts","title":"Document function contracts","description":"Always document function contracts completely, even when surrounding code lacks documentation. Include header comments that describe the function's purpose and behavior, and explicitly specify preconditions using appropriate annotations (like `PRECONDITION`) to clarify execution requirements.","repository":"dotnet/runtime","domain":"runtimes","topic":"Documentation","language":"C++","updated":"2025-06-12","comments":2,"stars":16578,"raw":"https://awesomereviewers.com/raw/runtime-document-function-contracts.md"}],"prompt_count":4}]}
