{"slug":"rust","title":"Rust","extensions":[".rs"],"entry_languages":["Rust"],"prompts":332,"repos":28,"sample":[{"repository":"rust-lang/rust","slug":"rust-lang-rust","checks":7},{"repository":"denoland/deno","slug":"denoland-deno","checks":4},{"repository":"unionlabs/union","slug":"unionlabs-union","checks":7},{"repository":"zed-industries/zed","slug":"zed-industries-zed","checks":9},{"repository":"astral-sh/uv","slug":"astral-sh-uv","checks":11},{"repository":"alacritty/alacritty","slug":"alacritty-alacritty","checks":4},{"repository":"warpdotdev/warp","slug":"warpdotdev-warp","checks":6},{"repository":"aaif-goose/goose","slug":"aaif-goose-goose","checks":12},{"repository":"astral-sh/ruff","slug":"astral-sh-ruff","checks":20},{"repository":"helix-editor/helix","slug":"helix-editor-helix","checks":7},{"repository":"can1357/oh-my-pi","slug":"can1357-oh-my-pi","checks":6},{"repository":"pola-rs/polars","slug":"pola-rs-polars","checks":13},{"repository":"juspay/hyperswitch","slug":"juspay-hyperswitch","checks":8},{"repository":"servo/servo","slug":"servo-servo","checks":10},{"repository":"openai/codex","slug":"openai-codex","checks":12},{"repository":"influxdata/influxdb","slug":"influxdata-influxdb","checks":5},{"repository":"tokio-rs/tokio","slug":"tokio-rs-tokio","checks":10},{"repository":"vercel/turborepo","slug":"vercel-turborepo","checks":11},{"repository":"ogulcancelik/herdr","slug":"ogulcancelik-herdr","checks":5},{"repository":"tokio-rs/axum","slug":"tokio-rs-axum","checks":8},{"repository":"tree-sitter/tree-sitter","slug":"tree-sitter-tree-sitter","checks":7},{"repository":"Hmbown/DeepSeek-TUI","slug":"hmbown-deepseek-tui","checks":13},{"repository":"jj-vcs/jj","slug":"jj-vcs-jj","checks":9},{"repository":"block/goose","slug":"block-goose","checks":12},{"repository":"neondatabase/neon","slug":"neondatabase-neon","checks":8},{"repository":"firecrawl/pdf-inspector","slug":"firecrawl-pdf-inspector","checks":7},{"repository":"huggingface/tokenizers","slug":"huggingface-tokenizers","checks":6},{"repository":"smallcloudai/refact","slug":"smallcloudai-refact","checks":5}],"tools":[{"id":"rustfmt","method":"formatting","kind":"formatting","languages":["rust"],"upstream":"https://github.com/rust-lang/rustfmt","docs":null,"autofix":true,"exit_codes":{},"repos":27,"share":96,"commands":["cargo fmt --all","cargo fmt --all -- --check","cargo fmt --all --check"],"run":"cargo fmt --all","via":null,"triggers":["pre_commit","ci","local"],"examples":[{"repository":"rust-lang/rust","slug":"rust-lang-rust"},{"repository":"denoland/deno","slug":"denoland-deno"},{"repository":"unionlabs/union","slug":"unionlabs-union"},{"repository":"zed-industries/zed","slug":"zed-industries-zed"},{"repository":"astral-sh/uv","slug":"astral-sh-uv"},{"repository":"alacritty/alacritty","slug":"alacritty-alacritty"}]},{"id":"clippy","method":"static_analysis","kind":"linting","languages":["rust"],"upstream":"https://github.com/rust-lang/rust-clippy","docs":null,"autofix":false,"exit_codes":{},"repos":25,"share":89,"commands":["cargo clippy --workspace --all-targets -- -D warnings","cargo clippy --all-targets -- -D warnings","cargo clippy --workspace --all-targets --all-features -- -D warnings"],"run":"cargo clippy --workspace --all-targets -- -D warnings","via":null,"triggers":["ci","local"],"examples":[{"repository":"rust-lang/rust","slug":"rust-lang-rust"},{"repository":"denoland/deno","slug":"denoland-deno"},{"repository":"unionlabs/union","slug":"unionlabs-union"},{"repository":"zed-industries/zed","slug":"zed-industries-zed"},{"repository":"astral-sh/uv","slug":"astral-sh-uv"},{"repository":"alacritty/alacritty","slug":"alacritty-alacritty"}]},{"id":"cargo-test","method":"testing","kind":"unit-tests","languages":["rust"],"upstream":"https://github.com/rust-lang/cargo","docs":null,"autofix":false,"exit_codes":{},"repos":21,"share":75,"commands":["cargo test --locked","cargo test","cargo test --locked --target wasm32-unknown-unknown -p goose-agent --test wasm"],"run":"cargo test --locked","via":null,"triggers":["ci","local"],"examples":[{"repository":"rust-lang/rust","slug":"rust-lang-rust"},{"repository":"zed-industries/zed","slug":"zed-industries-zed"},{"repository":"astral-sh/uv","slug":"astral-sh-uv"},{"repository":"alacritty/alacritty","slug":"alacritty-alacritty"},{"repository":"warpdotdev/warp","slug":"warpdotdev-warp"},{"repository":"aaif-goose/goose","slug":"aaif-goose-goose"}]},{"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":18,"share":64,"commands":["desktop-updater-install (os: 2)","rust-build-and-test-tls (tls-feature: 2)","analyze (include: 4)"],"run":"desktop-updater-install (os: 2)","via":null,"triggers":["ci"],"examples":[{"repository":"astral-sh/uv","slug":"astral-sh-uv"},{"repository":"alacritty/alacritty","slug":"alacritty-alacritty"},{"repository":"warpdotdev/warp","slug":"warpdotdev-warp"},{"repository":"aaif-goose/goose","slug":"aaif-goose-goose"},{"repository":"astral-sh/ruff","slug":"astral-sh-ruff"},{"repository":"helix-editor/helix","slug":"helix-editor-helix"}]},{"id":"cargo-deny","method":"supply_chain","kind":"dependency-audit","languages":["rust"],"upstream":"https://github.com/EmbarkStudios/cargo-deny","docs":null,"autofix":false,"exit_codes":{},"repos":16,"share":57,"commands":["cargo deny --all-features check bans","cargo deny --all-features check licenses","cargo deny --all-features check sources"],"run":"cargo deny --locked --all-features check licenses","via":"GitHub Action EmbarkStudios/cargo-deny-action","triggers":["ci","local"],"examples":[{"repository":"astral-sh/uv","slug":"astral-sh-uv"},{"repository":"warpdotdev/warp","slug":"warpdotdev-warp"},{"repository":"aaif-goose/goose","slug":"aaif-goose-goose"},{"repository":"astral-sh/ruff","slug":"astral-sh-ruff"},{"repository":"can1357/oh-my-pi","slug":"can1357-oh-my-pi"},{"repository":"pola-rs/polars","slug":"pola-rs-polars"}]},{"id":"cargo-check","method":"static_analysis","kind":"type-checking","languages":["rust"],"upstream":"https://github.com/rust-lang/cargo","docs":null,"autofix":false,"exit_codes":{},"repos":12,"share":43,"commands":["cargo check","cargo check --locked --target wasm32-unknown-unknown -p goose-agent -p goose-provider-types","cargo check --workspace --locked --all-targets"],"run":"cargo check","via":null,"triggers":["ci","local"],"examples":[{"repository":"warpdotdev/warp","slug":"warpdotdev-warp"},{"repository":"aaif-goose/goose","slug":"aaif-goose-goose"},{"repository":"astral-sh/ruff","slug":"astral-sh-ruff"},{"repository":"helix-editor/helix","slug":"helix-editor-helix"},{"repository":"pola-rs/polars","slug":"pola-rs-polars"},{"repository":"juspay/hyperswitch","slug":"juspay-hyperswitch"}]},{"id":"proptest","method":"testing","kind":"property-tests","languages":["rust"],"upstream":"https://github.com/proptest-rs/proptest","docs":null,"autofix":false,"exit_codes":{},"repos":10,"share":36,"commands":[],"run":null,"via":null,"triggers":[],"examples":[{"repository":"denoland/deno","slug":"denoland-deno"},{"repository":"zed-industries/zed","slug":"zed-industries-zed"},{"repository":"astral-sh/ruff","slug":"astral-sh-ruff"},{"repository":"helix-editor/helix","slug":"helix-editor-helix"},{"repository":"pola-rs/polars","slug":"pola-rs-polars"},{"repository":"servo/servo","slug":"servo-servo"}]},{"id":"cargo-fuzz","method":"testing","kind":"fuzzing","languages":["rust"],"upstream":"https://github.com/rust-fuzz/cargo-fuzz","docs":null,"autofix":false,"exit_codes":{},"repos":5,"share":18,"commands":["cargo fuzz build -s none","cargo fuzz check --all-features"],"run":"cargo fuzz build -s none","via":null,"triggers":["ci"],"examples":[{"repository":"rust-lang/rust","slug":"rust-lang-rust"},{"repository":"denoland/deno","slug":"denoland-deno"},{"repository":"astral-sh/ruff","slug":"astral-sh-ruff"},{"repository":"influxdata/influxdb","slug":"influxdata-influxdb"},{"repository":"tokio-rs/tokio","slug":"tokio-rs-tokio"}]},{"id":"cargo-hack","method":"testing","kind":"version-matrix","languages":["rust"],"upstream":"https://github.com/taiki-e/cargo-hack","docs":null,"autofix":false,"exit_codes":{},"repos":4,"share":14,"commands":["cargo hack check --all --feature-powerset --exclude-features $EXPR --depth 2 --keep-going","cargo hack check --each-feature --no-dev-deps --all","cargo hack check --target wasm32-unknown-unknown -p polars --no-dev-deps --each-feature --exclude-features async --exclude-features aws --exclude-features azure --exclude-features cloud --exclude-features decompress --exclude-features default --exclude-features docs-selection --exclude-features extract_jsonpath --exclude-features fmt --exclude-features gcp --exclude-features csv --exclude-features ipc --exclude-features ipc_streaming --exclude-features json --exclude-features nightly --exclude-features parquet --exclude-features performant --exclude-features streaming --exclude-features http --exclude-features full --exclude-features test"],"run":"cargo hack check --workspace --each-feature --all-targets --exclude-features v2 payment_v2","via":null,"triggers":["ci","local"],"examples":[{"repository":"pola-rs/polars","slug":"pola-rs-polars"},{"repository":"juspay/hyperswitch","slug":"juspay-hyperswitch"},{"repository":"tokio-rs/tokio","slug":"tokio-rs-tokio"},{"repository":"tokio-rs/axum","slug":"tokio-rs-axum"}]},{"id":"miri","method":"formal","kind":"ub-detection","languages":["rust"],"upstream":"https://github.com/rust-lang/miri","docs":null,"autofix":false,"exit_codes":{},"repos":3,"share":11,"commands":["cargo miri clean","cargo miri nextest run --features full --lib --no-fail-fast","cargo miri nextest run --features full --test * --no-fail-fast"],"run":"cargo miri test --features object -p polars-core","via":null,"triggers":["ci","local"],"examples":[{"repository":"zed-industries/zed","slug":"zed-industries-zed"},{"repository":"pola-rs/polars","slug":"pola-rs-polars"},{"repository":"tokio-rs/tokio","slug":"tokio-rs-tokio"}]},{"id":"cargo-audit","method":"supply_chain","kind":"dependency-audit","languages":["rust"],"upstream":"https://github.com/rustsec/rustsec","docs":null,"autofix":false,"exit_codes":{},"repos":2,"share":7,"commands":["cargo audit","cargo audit -D warnings -f bindings/node/Cargo.lock","cargo audit -D warnings -f bindings/python/Cargo.lock"],"run":"cargo audit","via":null,"triggers":["ci"],"examples":[{"repository":"Hmbown/DeepSeek-TUI","slug":"hmbown-deepseek-tui"},{"repository":"huggingface/tokenizers","slug":"huggingface-tokenizers"}]},{"id":"codespell","method":"formatting","kind":"spelling","languages":["*"],"upstream":"https://github.com/codespell-project/codespell","docs":null,"autofix":false,"exit_codes":{},"repos":2,"share":7,"commands":["codespell","uses codespell-project/actions-codespell"],"run":"codespell","via":"GitHub Action codespell-project/actions-codespell","triggers":["ci"],"examples":[{"repository":"openai/codex","slug":"openai-codex"},{"repository":"jj-vcs/jj","slug":"jj-vcs-jj"}]},{"id":"codeql","method":"static_analysis","kind":"security-scanning","languages":["*"],"upstream":"https://github.com/github/codeql","docs":null,"autofix":false,"exit_codes":{},"repos":1,"share":4,"commands":["uses github/codeql-action/analyze"],"run":null,"via":"GitHub Action github/codeql-action/analyze","triggers":["ci"],"examples":[{"repository":"Hmbown/DeepSeek-TUI","slug":"hmbown-deepseek-tui"}]},{"id":"coq","method":"formal","kind":"proofs","languages":["*"],"upstream":"https://github.com/rocq-prover/rocq","docs":null,"autofix":false,"exit_codes":{},"repos":1,"share":4,"commands":[],"run":null,"via":null,"triggers":[],"examples":[{"repository":"helix-editor/helix","slug":"helix-editor-helix"}]},{"id":"dependency-review","method":"supply_chain","kind":"dependency-audit","languages":["*"],"upstream":"https://github.com/actions/dependency-review-action","docs":null,"autofix":false,"exit_codes":{},"repos":1,"share":4,"commands":["uses actions/dependency-review-action"],"run":null,"via":"GitHub Action actions/dependency-review-action","triggers":["ci"],"examples":[{"repository":"zed-industries/zed","slug":"zed-industries-zed"}]},{"id":"loom","method":"formal","kind":"concurrency-model-checking","languages":["rust"],"upstream":"https://github.com/tokio-rs/loom","docs":null,"autofix":false,"exit_codes":{},"repos":1,"share":4,"commands":["loom via environment"],"run":null,"via":"loom via environment","triggers":["ci"],"examples":[{"repository":"tokio-rs/tokio","slug":"tokio-rs-tokio"}]},{"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":1,"share":4,"commands":["pre-commit hook check-merge-conflict","pre-commit hook end-of-file-fixer"],"run":null,"via":"pre-commit hook end-of-file-fixer","triggers":["pre_commit"],"examples":[{"repository":"astral-sh/ruff","slug":"astral-sh-ruff"}]},{"id":"tla-plus","method":"formal","kind":"proofs","languages":["*"],"upstream":"https://github.com/tlaplus/tlaplus","docs":null,"autofix":false,"exit_codes":{},"repos":1,"share":4,"commands":[],"run":null,"via":null,"triggers":[],"examples":[{"repository":"neondatabase/neon","slug":"neondatabase-neon"}]}],"headline":["rustfmt","clippy","cargo-check","cargo-test"],"raw_md":"https://awesomereviewers.com/raw/verify/rust.md","raw_json":"https://awesomereviewers.com/raw/verify/rust.json","url":"https://awesomereviewers.com/verify/rust/","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":{"id":"rustfmt","method":"formatting","kind":"formatting","languages":["rust"],"upstream":"https://github.com/rust-lang/rustfmt","docs":null,"autofix":true,"exit_codes":{},"repos":27,"share":96,"commands":["cargo fmt --all","cargo fmt --all -- --check","cargo fmt --all --check"],"run":"cargo fmt --all","via":null,"triggers":["pre_commit","ci","local"],"examples":[{"repository":"rust-lang/rust","slug":"rust-lang-rust"},{"repository":"denoland/deno","slug":"denoland-deno"},{"repository":"unionlabs/union","slug":"unionlabs-union"},{"repository":"zed-industries/zed","slug":"zed-industries-zed"},{"repository":"astral-sh/uv","slug":"astral-sh-uv"},{"repository":"alacritty/alacritty","slug":"alacritty-alacritty"}]},"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":{"id":"clippy","method":"static_analysis","kind":"linting","languages":["rust"],"upstream":"https://github.com/rust-lang/rust-clippy","docs":null,"autofix":false,"exit_codes":{},"repos":25,"share":89,"commands":["cargo clippy --workspace --all-targets -- -D warnings","cargo clippy --all-targets -- -D warnings","cargo clippy --workspace --all-targets --all-features -- -D warnings"],"run":"cargo clippy --workspace --all-targets -- -D warnings","via":null,"triggers":["ci","local"],"examples":[{"repository":"rust-lang/rust","slug":"rust-lang-rust"},{"repository":"denoland/deno","slug":"denoland-deno"},{"repository":"unionlabs/union","slug":"unionlabs-union"},{"repository":"zed-industries/zed","slug":"zed-industries-zed"},{"repository":"astral-sh/uv","slug":"astral-sh-uv"},{"repository":"alacritty/alacritty","slug":"alacritty-alacritty"}]},"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":{"id":"cargo-check","method":"static_analysis","kind":"type-checking","languages":["rust"],"upstream":"https://github.com/rust-lang/cargo","docs":null,"autofix":false,"exit_codes":{},"repos":12,"share":43,"commands":["cargo check","cargo check --locked --target wasm32-unknown-unknown -p goose-agent -p goose-provider-types","cargo check --workspace --locked --all-targets"],"run":"cargo check","via":null,"triggers":["ci","local"],"examples":[{"repository":"warpdotdev/warp","slug":"warpdotdev-warp"},{"repository":"aaif-goose/goose","slug":"aaif-goose-goose"},{"repository":"astral-sh/ruff","slug":"astral-sh-ruff"},{"repository":"helix-editor/helix","slug":"helix-editor-helix"},{"repository":"pola-rs/polars","slug":"pola-rs-polars"},{"repository":"juspay/hyperswitch","slug":"juspay-hyperswitch"}]},"alternatives":[],"note":null},{"kind":"unit-tests","title":"Unit and integration tests","method":"testing","method_slug":"testing","catches":"Behaviour regressions on the paths the tests exercise.","tool":{"id":"cargo-test","method":"testing","kind":"unit-tests","languages":["rust"],"upstream":"https://github.com/rust-lang/cargo","docs":null,"autofix":false,"exit_codes":{},"repos":21,"share":75,"commands":["cargo test --locked","cargo test","cargo test --locked --target wasm32-unknown-unknown -p goose-agent --test wasm"],"run":"cargo test --locked","via":null,"triggers":["ci","local"],"examples":[{"repository":"rust-lang/rust","slug":"rust-lang-rust"},{"repository":"zed-industries/zed","slug":"zed-industries-zed"},{"repository":"astral-sh/uv","slug":"astral-sh-uv"},{"repository":"alacritty/alacritty","slug":"alacritty-alacritty"},{"repository":"warpdotdev/warp","slug":"warpdotdev-warp"},{"repository":"aaif-goose/goose","slug":"aaif-goose-goose"}]},"alternatives":[],"note":null}],"prompts":[{"slug":"servo-reduce-complexity-for-readability","title":"reduce complexity for readability","description":"Prioritize code readability by reducing complexity through better organization and clearer patterns. Use early returns to avoid deep nesting, extract methods to break down large functions, and choose appropriate data structures over generic ones.","repository":"servo/servo","domain":"runtimes","topic":"Code Style","language":"Rust","updated":"2025-10-21","comments":20,"stars":32962,"raw":"https://awesomereviewers.com/raw/servo-reduce-complexity-for-readability.md"},{"slug":"hyperswitch-use-meaningful-names","title":"Use meaningful names","description":"Use descriptive, self-explanatory names for variables, methods, fields, and types. Avoid single-letter variables, abbreviations, and generic naming that obscures intent.","repository":"juspay/hyperswitch","domain":"app-frameworks","topic":"Naming Conventions","language":"Rust","updated":"2025-09-17","comments":17,"stars":34028,"raw":"https://awesomereviewers.com/raw/hyperswitch-use-meaningful-names.md"},{"slug":"hyperswitch-organize-code-structure","title":"Organize code structure","description":"Maintain clean and well-organized code structure by following consistent organizational patterns. This improves readability, maintainability, and reduces cognitive load for developers.","repository":"juspay/hyperswitch","domain":"app-frameworks","topic":"Code Style","language":"Rust","updated":"2025-09-17","comments":15,"stars":34028,"raw":"https://awesomereviewers.com/raw/hyperswitch-organize-code-structure.md"},{"slug":"servo-use-semantically-accurate-names","title":"Use semantically accurate names","description":"Variable, method, and type names should accurately reflect their actual purpose, content, and behavior. Avoid generic or misleading names that don't match the underlying functionality.","repository":"servo/servo","domain":"runtimes","topic":"Naming Conventions","language":"Rust","updated":"2025-10-23","comments":13,"stars":32962,"raw":"https://awesomereviewers.com/raw/servo-use-semantically-accurate-names.md"},{"slug":"alacritty-use-descriptive-contextual-names","title":"Use descriptive contextual names","description":"Choose variable, function, and struct names that clearly communicate their purpose and content while considering their surrounding context. Avoid generic names like `x`, `normal`, or `data` that provide no semantic meaning. When naming within a specific scope or module, avoid redundant prefixes that repeat the context.","repository":"alacritty/alacritty","domain":"devtools","topic":"Naming Conventions","language":"Rust","updated":"2025-07-11","comments":13,"stars":59675,"raw":"https://awesomereviewers.com/raw/alacritty-use-descriptive-contextual-names.md"},{"slug":"tree-sitter-simplify-complex-expressions","title":"Simplify complex expressions","description":"Break down complex code structures into simpler, more readable forms. This includes avoiding deep nesting, extracting complex logic into helper functions, simplifying boolean expressions, and reducing code duplication.","repository":"tree-sitter/tree-sitter","domain":"runtimes","topic":"Code Style","language":"Rust","updated":"2025-08-10","comments":12,"stars":21799,"raw":"https://awesomereviewers.com/raw/tree-sitter-simplify-complex-expressions.md"},{"slug":"union-prioritize-code-clarity","title":"prioritize code clarity","description":"Write code that prioritizes readability and explicitness over brevity. This includes using explicit type conversions instead of implicit ones, extracting magic values to named constants, creating helper functions for repetitive operations, and organizing code logic clearly.","repository":"unionlabs/union","domain":"cloud-infra","topic":"Code Style","language":"Rust","updated":"2025-09-16","comments":10,"stars":74800,"raw":"https://awesomereviewers.com/raw/union-prioritize-code-clarity.md"},{"slug":"polars-extract-duplicated-code","title":"Extract duplicated code","description":"Identify and extract duplicated code into reusable functions or move common fields to parent structures. This makes the codebase more maintainable and reduces the risk of inconsistencies when code needs to be updated.","repository":"pola-rs/polars","domain":"data-systems","topic":"Code Style","language":"Rust","updated":"2025-06-25","comments":10,"stars":34296,"raw":"https://awesomereviewers.com/raw/polars-extract-duplicated-code.md"},{"slug":"deno-organize-code-structure","title":"organize code structure","description":"Maintain clean code organization by moving implementation details to appropriate locations, extracting reusable functionality, and keeping related code together. This improves maintainability and prevents bugs from poor encapsulation.","repository":"denoland/deno","domain":"runtimes","topic":"Code Style","language":"Rust","updated":"2025-05-30","comments":10,"stars":103714,"raw":"https://awesomereviewers.com/raw/deno-organize-code-structure.md"},{"slug":"jj-eliminate-redundant-code","title":"eliminate redundant code","description":"Remove unnecessary code, operations, and annotations that don't add value. This includes redundant type annotations when types are already constrained, unnecessary conditional checks, redundant operations like path normalization in multiple places, and overly complex patterns that can be simplified.","repository":"jj-vcs/jj","domain":"devtools","topic":"Code Style","language":"Rust","updated":"2025-10-10","comments":9,"stars":21171,"raw":"https://awesomereviewers.com/raw/jj-eliminate-redundant-code.md"},{"slug":"goose-eliminate-code-duplication","title":"eliminate code duplication","description":"Actively identify and eliminate code duplication by extracting repeated logic into reusable functions, using loops instead of repetitive code blocks, and consolidating similar implementations. When you find yourself copying and pasting code or writing nearly identical logic multiple times, refactor it into a shared function or use iteration patterns.","repository":"block/goose","domain":"ai-agents","topic":"Code Style","language":"Rust","updated":"2025-08-20","comments":9,"stars":19037,"raw":"https://awesomereviewers.com/raw/goose-eliminate-code-duplication.md"},{"slug":"union-use-descriptive-semantic-names","title":"Use descriptive semantic names","description":"Choose names that clearly communicate purpose, intent, and functionality rather than generic or abbreviated alternatives. Names should follow Rust conventions (snake_case for variables, functions, modules) and accurately describe what they represent or do.","repository":"unionlabs/union","domain":"cloud-infra","topic":"Naming Conventions","language":"Rust","updated":"2025-09-11","comments":8,"stars":74800,"raw":"https://awesomereviewers.com/raw/union-use-descriptive-semantic-names.md"}],"prompt_count":53},"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":1,"share":4,"commands":["uses github/codeql-action/analyze"],"run":null,"via":"GitHub Action github/codeql-action/analyze","triggers":["ci"],"examples":[{"repository":"Hmbown/DeepSeek-TUI","slug":"hmbown-deepseek-tui"}]},"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":{"id":"cargo-deny","method":"supply_chain","kind":"dependency-audit","languages":["rust"],"upstream":"https://github.com/EmbarkStudios/cargo-deny","docs":null,"autofix":false,"exit_codes":{},"repos":16,"share":57,"commands":["cargo deny --all-features check bans","cargo deny --all-features check licenses","cargo deny --all-features check sources"],"run":"cargo deny --locked --all-features check licenses","via":"GitHub Action EmbarkStudios/cargo-deny-action","triggers":["ci","local"],"examples":[{"repository":"astral-sh/uv","slug":"astral-sh-uv"},{"repository":"warpdotdev/warp","slug":"warpdotdev-warp"},{"repository":"aaif-goose/goose","slug":"aaif-goose-goose"},{"repository":"astral-sh/ruff","slug":"astral-sh-ruff"},{"repository":"can1357/oh-my-pi","slug":"can1357-oh-my-pi"},{"repository":"pola-rs/polars","slug":"pola-rs-polars"}]},"alternatives":[{"id":"cargo-audit","repos":2,"share":7},{"id":"dependency-review","repos":1,"share":4}],"note":null}],"prompts":[{"slug":"warp-secure-input-and-secret-handling","title":"Secure Input and Secret Handling","description":"Adopt a consistent rule: anything coming from persistence, other platforms/accounts, terminal escape sequences, or secret-managed inputs must be validated/normalized and handled with collision-safe, non-injectable, non-leaky logic.","repository":"warpdotdev/warp","domain":"devtools","topic":"Security","language":"Rust","updated":"2026-05-06","comments":8,"stars":56893,"raw":"https://awesomereviewers.com/raw/warp-secure-input-and-secret-handling.md"},{"slug":"hyperswitch-protect-sensitive-data","title":"Protect sensitive data","description":"Wrap all sensitive data fields in Secret<> types to prevent accidental exposure through logs, debug output, serialization, or error messages. This includes authentication tokens, API keys, PII data, payment information, and any credentials.","repository":"juspay/hyperswitch","domain":"app-frameworks","topic":"Security","language":"Rust","updated":"2025-09-11","comments":8,"stars":34028,"raw":"https://awesomereviewers.com/raw/hyperswitch-protect-sensitive-data.md"},{"slug":"uv-redact-url-credentials","title":"Redact URL credentials","description":"Always redact sensitive credentials in URLs before logging, displaying in error messages, or serializing to prevent accidental exposure of authentication information. Use dedicated wrapper types like `LogSafeUrl` that automatically handle credential redaction when displaying URLs:","repository":"astral-sh/uv","domain":"devtools","topic":"Security","language":"Rust","updated":"2025-05-26","comments":7,"stars":60322,"raw":"https://awesomereviewers.com/raw/uv-redact-url-credentials.md"},{"slug":"goose-fail-safe-input-handling","title":"Fail Safe Input Handling","description":"When processing security-relevant external inputs (URIs/hosts, file paths/content, auth tokens, and tool-call metadata), validate and constrain early, then ensure failure modes are non-recoverable in ways that could cause retries or duplicate effects.","repository":"aaif-goose/goose","domain":"ai-agents","topic":"Security","language":"Rust","updated":"2026-07-16","comments":6,"stars":51876,"raw":"https://awesomereviewers.com/raw/goose-fail-safe-input-handling.md"},{"slug":"deno-validate-operation-permissions","title":"Validate operation permissions","description":"Ensure appropriate permission checks are implemented before performing security-sensitive operations that access files, networks, or system resources. Different operation types require different permission validations, and the timing of these checks matters for security.","repository":"denoland/deno","domain":"runtimes","topic":"Security","language":"Rust","updated":"2025-07-08","comments":4,"stars":103714,"raw":"https://awesomereviewers.com/raw/deno-validate-operation-permissions.md"},{"slug":"tokio-secure-unsafe-code","title":"Secure unsafe code","description":"When working with unsafe code, follow these practices to minimize security vulnerabilities: 1. **Minimize scope**: Limit unsafe blocks to only the operations that require them.","repository":"tokio-rs/tokio","domain":"runtimes","topic":"Security","language":"Rust","updated":"2025-02-27","comments":4,"stars":28989,"raw":"https://awesomereviewers.com/raw/tokio-secure-unsafe-code.md"},{"slug":"servo-handle-unsafe-code-properly","title":"Handle unsafe code properly","description":"Methods that access raw memory buffers, perform pointer operations, or interact with foreign function interfaces must be explicitly marked as `unsafe` to prevent memory safety vulnerabilities. Conversely, remove unnecessary `unsafe` blocks when calling safe functions to maintain code clarity and prevent masking actual unsafe operations.","repository":"servo/servo","domain":"runtimes","topic":"Security","language":"Rust","updated":"2025-09-29","comments":3,"stars":32962,"raw":"https://awesomereviewers.com/raw/servo-handle-unsafe-code-properly.md"},{"slug":"goose-default-least-permissive","title":"default least permissive","description":"When implementing security controls, always default to the most restrictive option and require explicit opt-in for more permissive behavior. This applies to authentication mechanisms, user permissions, and security scanning workflows.","repository":"block/goose","domain":"ai-agents","topic":"Security","language":"Rust","updated":"2025-08-25","comments":3,"stars":19037,"raw":"https://awesomereviewers.com/raw/goose-default-least-permissive.md"},{"slug":"rust-prevent-toctou-vulnerabilities","title":"Prevent TOCTOU vulnerabilities","description":"Time-of-Check-to-Time-of-Use (TOCTOU) race conditions occur when a program checks a condition and then uses the result of that check, but the condition might have changed between the check and use. This pattern creates security vulnerabilities, particularly in file system operations, but can affect any multi-step operation where state might change.","repository":"rust-lang/rust","domain":"runtimes","topic":"Security","language":"Rust","updated":"2025-06-26","comments":3,"stars":105254,"raw":"https://awesomereviewers.com/raw/rust-prevent-toctou-vulnerabilities.md"},{"slug":"neon-secure-authentication-handling","title":"Secure authentication handling","description":"Always implement proper authentication checks and protect sensitive credentials throughout your codebase. This includes: 1. **Validate all authentication inputs properly** to prevent panics and security vulnerabilities:","repository":"neondatabase/neon","domain":"data-systems","topic":"Security","language":"Rust","updated":"2025-06-23","comments":3,"stars":19015,"raw":"https://awesomereviewers.com/raw/neon-secure-authentication-handling.md"},{"slug":"influxdb-secure-token-lifecycle","title":"Secure token lifecycle","description":"Implement comprehensive lifecycle controls for authentication tokens to maintain security throughout token creation, usage, and deletion processes. Essential practices include:","repository":"influxdata/influxdb","domain":"data-systems","topic":"Security","language":"Rust","updated":"2025-05-14","comments":3,"stars":30268,"raw":"https://awesomereviewers.com/raw/influxdb-secure-token-lifecycle.md"},{"slug":"tokio-minimize-unsafe-code","title":"Minimize unsafe code","description":"When writing code that requires unsafe operations, follow these critical security practices: 1. Minimize the scope of unsafe blocks to only the specific operations that require them","repository":"tokio-rs/tokio","domain":"runtimes","topic":"Security","language":"Rust","updated":"2025-02-27","comments":3,"stars":28981,"raw":"https://awesomereviewers.com/raw/tokio-minimize-unsafe-code.md"}],"prompt_count":26},{"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":{"id":"cargo-check","method":"static_analysis","kind":"type-checking","languages":["rust"],"upstream":"https://github.com/rust-lang/cargo","docs":null,"autofix":false,"exit_codes":{},"repos":12,"share":43,"commands":["cargo check","cargo check --locked --target wasm32-unknown-unknown -p goose-agent -p goose-provider-types","cargo check --workspace --locked --all-targets"],"run":"cargo check","via":null,"triggers":["ci","local"],"examples":[{"repository":"warpdotdev/warp","slug":"warpdotdev-warp"},{"repository":"aaif-goose/goose","slug":"aaif-goose-goose"},{"repository":"astral-sh/ruff","slug":"astral-sh-ruff"},{"repository":"helix-editor/helix","slug":"helix-editor-helix"},{"repository":"pola-rs/polars","slug":"pola-rs-polars"},{"repository":"juspay/hyperswitch","slug":"juspay-hyperswitch"}]},"alternatives":[],"note":null},{"kind":"unit-tests","title":"Unit and integration tests","method":"testing","method_slug":"testing","catches":"Behaviour regressions on the paths the tests exercise.","tool":{"id":"cargo-test","method":"testing","kind":"unit-tests","languages":["rust"],"upstream":"https://github.com/rust-lang/cargo","docs":null,"autofix":false,"exit_codes":{},"repos":21,"share":75,"commands":["cargo test --locked","cargo test","cargo test --locked --target wasm32-unknown-unknown -p goose-agent --test wasm"],"run":"cargo test --locked","via":null,"triggers":["ci","local"],"examples":[{"repository":"rust-lang/rust","slug":"rust-lang-rust"},{"repository":"zed-industries/zed","slug":"zed-industries-zed"},{"repository":"astral-sh/uv","slug":"astral-sh-uv"},{"repository":"alacritty/alacritty","slug":"alacritty-alacritty"},{"repository":"warpdotdev/warp","slug":"warpdotdev-warp"},{"repository":"aaif-goose/goose","slug":"aaif-goose-goose"}]},"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":{"id":"proptest","method":"testing","kind":"property-tests","languages":["rust"],"upstream":"https://github.com/proptest-rs/proptest","docs":null,"autofix":false,"exit_codes":{},"repos":10,"share":36,"commands":[],"run":null,"via":null,"triggers":[],"examples":[{"repository":"denoland/deno","slug":"denoland-deno"},{"repository":"zed-industries/zed","slug":"zed-industries-zed"},{"repository":"astral-sh/ruff","slug":"astral-sh-ruff"},{"repository":"helix-editor/helix","slug":"helix-editor-helix"},{"repository":"pola-rs/polars","slug":"pola-rs-polars"},{"repository":"servo/servo","slug":"servo-servo"}]},"alternatives":[],"note":null}],"prompts":[{"slug":"zed-design-interfaces-not-implementations","title":"Design interfaces, not implementations","description":"Create intuitive API interfaces that abstract away implementation details while providing a consistent experience for consumers. Use appropriate parameter types that express intent and maintain established patterns across your codebase.","repository":"zed-industries/zed","domain":"devtools","topic":"API","language":"Rust","updated":"2025-06-26","comments":12,"stars":62119,"raw":"https://awesomereviewers.com/raw/zed-design-interfaces-not-implementations.md"},{"slug":"jj-consistent-command-flag-design","title":"consistent command flag design","description":"Design command-line interfaces with consistent flag semantics and leverage framework features for validation. Avoid ambiguous syntax that can be interpreted multiple ways, use explicit conflict declarations instead of manual validation, and ensure flag combinations have clear, predictable behavior.","repository":"jj-vcs/jj","domain":"devtools","topic":"API","language":"Rust","updated":"2025-10-15","comments":11,"stars":21171,"raw":"https://awesomereviewers.com/raw/jj-consistent-command-flag-design.md"},{"slug":"hyperswitch-explicit-error-handling","title":"explicit error handling","description":"Avoid catch-all patterns and implicit error handling. Handle each error case explicitly, use the ? operator for error propagation instead of explicit returns, and never silently ignore errors.","repository":"juspay/hyperswitch","domain":"app-frameworks","topic":"Error Handling","language":"Rust","updated":"2025-09-10","comments":11,"stars":34028,"raw":"https://awesomereviewers.com/raw/hyperswitch-explicit-error-handling.md"},{"slug":"goose-accurate-recovery-error-handling","title":"Accurate Recovery Error Handling","description":"Coding standard for recovery/error paths: make failure and recovery behavior truthful, gated, and user-consistent. Apply this rule set: 1) Ground messages and state on authoritative runtime outcomes (avoid predicates/flags that can drift from behavior). If the only way to know is to attempt (e.g., reset/clear), attempt and then report based on the result.","repository":"aaif-goose/goose","domain":"ai-agents","topic":"Error Handling","language":"Rust","updated":"2026-07-28","comments":10,"stars":51876,"raw":"https://awesomereviewers.com/raw/goose-accurate-recovery-error-handling.md"},{"slug":"goose-explicit-api-contracts","title":"Explicit API Contracts","description":"When API behavior depends on client/provider capabilities, request-field validity, or protocol ordering, implement it via explicit contracts—not heuristics—and ensure the exposed responses match the runtime’s effective configuration.","repository":"aaif-goose/goose","domain":"ai-agents","topic":"API","language":"Rust","updated":"2026-07-28","comments":10,"stars":51876,"raw":"https://awesomereviewers.com/raw/goose-explicit-api-contracts.md"},{"slug":"polars-safe-null-handling","title":"Safe null handling","description":"Always implement robust null handling patterns to prevent unexpected behavior and crashes. Consider all edge cases where null values might affect calculations, type conversions, or data operations:","repository":"pola-rs/polars","domain":"data-systems","topic":"Null Handling","language":"Rust","updated":"2025-06-22","comments":10,"stars":34296,"raw":"https://awesomereviewers.com/raw/polars-safe-null-handling.md"},{"slug":"axum-type-safe-flexible-apis","title":"Type-safe flexible APIs","description":"Design APIs that favor both type safety and flexibility. Use strongly typed wrappers instead of primitive types, but accept generic parameters where flexibility is beneficial.","repository":"tokio-rs/axum","domain":"app-frameworks","topic":"API","language":"Rust","updated":"","comments":10,"stars":22100,"raw":"https://awesomereviewers.com/raw/axum-type-safe-flexible-apis.md"},{"slug":"servo-avoid-unwrap-and-panic","title":"avoid unwrap and panic","description":"Replace `.unwrap()` and `panic!()` calls with proper error handling to prevent crashes and improve robustness. When encountering potential failures, choose one of three approaches:","repository":"servo/servo","domain":"runtimes","topic":"Error Handling","language":"Rust","updated":"2025-10-22","comments":9,"stars":32962,"raw":"https://awesomereviewers.com/raw/servo-avoid-unwrap-and-panic.md"},{"slug":"servo-api-design-patterns","title":"API design patterns","description":"Design APIs with appropriate parameter types, place conversion functions as trait implementations in the correct modules, and reuse existing patterns instead of creating new abstractions.","repository":"servo/servo","domain":"runtimes","topic":"API","language":"Rust","updated":"2025-10-09","comments":9,"stars":32962,"raw":"https://awesomereviewers.com/raw/servo-api-design-patterns.md"},{"slug":"polars-appropriate-error-handling","title":"Appropriate error handling","description":"Distinguish between implementation errors (invariant violations) and expected failure cases. For implementation errors that should never occur, use `unreachable!()` with explanatory comments rather than generic `panic!()` or `todo!()`. For expected failure modes, return proper error types with informative messages.","repository":"pola-rs/polars","domain":"data-systems","topic":"Error Handling","language":"Rust","updated":"2025-06-26","comments":9,"stars":34296,"raw":"https://awesomereviewers.com/raw/polars-appropriate-error-handling.md"},{"slug":"zed-prefer-idiomatic-option-handling","title":"Prefer idiomatic Option handling","description":"When handling null values in Rust, use idiomatic Option patterns instead of verbose nested conditionals. This improves code readability, safety, and reduces the chance of runtime errors.","repository":"zed-industries/zed","domain":"devtools","topic":"Null Handling","language":"Rust","updated":"2025-06-25","comments":9,"stars":62119,"raw":"https://awesomereviewers.com/raw/zed-prefer-idiomatic-option-handling.md"},{"slug":"turborepo-propagate-errors-with-context","title":"Propagate errors with context","description":"Properly propagate errors to callers with sufficient context rather than handling them prematurely or hiding them. Let the caller decide how to handle errors when they have the appropriate context.","repository":"vercel/turborepo","domain":"devtools","topic":"Error Handling","language":"Rust","updated":"2025-05-01","comments":9,"stars":28115,"raw":"https://awesomereviewers.com/raw/turborepo-propagate-errors-with-context.md"}],"prompt_count":84},{"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":{"id":"cargo-test","method":"testing","kind":"unit-tests","languages":["rust"],"upstream":"https://github.com/rust-lang/cargo","docs":null,"autofix":false,"exit_codes":{},"repos":21,"share":75,"commands":["cargo test --locked","cargo test","cargo test --locked --target wasm32-unknown-unknown -p goose-agent --test wasm"],"run":"cargo test --locked","via":null,"triggers":["ci","local"],"examples":[{"repository":"rust-lang/rust","slug":"rust-lang-rust"},{"repository":"zed-industries/zed","slug":"zed-industries-zed"},{"repository":"astral-sh/uv","slug":"astral-sh-uv"},{"repository":"alacritty/alacritty","slug":"alacritty-alacritty"},{"repository":"warpdotdev/warp","slug":"warpdotdev-warp"},{"repository":"aaif-goose/goose","slug":"aaif-goose-goose"}]},"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":18,"share":64,"commands":["desktop-updater-install (os: 2)","rust-build-and-test-tls (tls-feature: 2)","analyze (include: 4)"],"run":"desktop-updater-install (os: 2)","via":null,"triggers":["ci"],"examples":[{"repository":"astral-sh/uv","slug":"astral-sh-uv"},{"repository":"alacritty/alacritty","slug":"alacritty-alacritty"},{"repository":"warpdotdev/warp","slug":"warpdotdev-warp"},{"repository":"aaif-goose/goose","slug":"aaif-goose-goose"},{"repository":"astral-sh/ruff","slug":"astral-sh-ruff"},{"repository":"helix-editor/helix","slug":"helix-editor-helix"}]},"alternatives":[{"id":"cargo-hack","repos":4,"share":14}],"note":null}],"prompts":[{"slug":"polars-use-consistent-temporal-types","title":"Use consistent temporal types","description":"When implementing or modifying temporal operations, maintain consistent data types that align with existing temporal functions. Specifically, use Int8 for datetime components with small ranges (months, days, hours, minutes, seconds) and Int32/Int64 for larger values (years, microseconds). This approach reduces unnecessary type casting, improves code...","repository":"pola-rs/polars","domain":"data-systems","topic":"Temporal","language":"Rust","updated":"2024-12-04","comments":2,"stars":34296,"raw":"https://awesomereviewers.com/raw/polars-use-consistent-temporal-types.md"}],"prompt_count":1},{"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":{"id":"proptest","method":"testing","kind":"property-tests","languages":["rust"],"upstream":"https://github.com/proptest-rs/proptest","docs":null,"autofix":false,"exit_codes":{},"repos":10,"share":36,"commands":[],"run":null,"via":null,"triggers":[],"examples":[{"repository":"denoland/deno","slug":"denoland-deno"},{"repository":"zed-industries/zed","slug":"zed-industries-zed"},{"repository":"astral-sh/ruff","slug":"astral-sh-ruff"},{"repository":"helix-editor/helix","slug":"helix-editor-helix"},{"repository":"pola-rs/polars","slug":"pola-rs-polars"},{"repository":"servo/servo","slug":"servo-servo"}]},"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":{"id":"cargo-fuzz","method":"testing","kind":"fuzzing","languages":["rust"],"upstream":"https://github.com/rust-fuzz/cargo-fuzz","docs":null,"autofix":false,"exit_codes":{},"repos":5,"share":18,"commands":["cargo fuzz build -s none","cargo fuzz check --all-features"],"run":"cargo fuzz build -s none","via":null,"triggers":["ci"],"examples":[{"repository":"rust-lang/rust","slug":"rust-lang-rust"},{"repository":"denoland/deno","slug":"denoland-deno"},{"repository":"astral-sh/ruff","slug":"astral-sh-ruff"},{"repository":"influxdata/influxdb","slug":"influxdata-influxdb"},{"repository":"tokio-rs/tokio","slug":"tokio-rs-tokio"}]},"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":{"id":"coq","method":"formal","kind":"proofs","languages":["*"],"upstream":"https://github.com/rocq-prover/rocq","docs":null,"autofix":false,"exit_codes":{},"repos":1,"share":4,"commands":[],"run":null,"via":null,"triggers":[],"examples":[{"repository":"helix-editor/helix","slug":"helix-editor-helix"}]},"alternatives":[{"id":"tla-plus","repos":1,"share":4}],"note":null}],"prompts":[{"slug":"rust-validate-boundary-conditions","title":"Validate boundary conditions","description":"Ensure algorithms handle boundary conditions and edge cases correctly by adding explicit validation for all input ranges. Special attention should be paid to index calculations, offset arithmetic, and memory management operations, as these are common sources of subtle bugs that only manifest in edge cases.","repository":"rust-lang/rust","domain":"runtimes","topic":"Algorithms","language":"Rust","updated":"2025-07-23","comments":16,"stars":105254,"raw":"https://awesomereviewers.com/raw/rust-validate-boundary-conditions.md"},{"slug":"pdf-inspector-evidence-gated-heuristics","title":"Evidence-Gated Heuristics","description":"When implementing content extraction/layout algorithms, treat “heuristics” as *probabilistic classifiers*: constrain them with invariants, gate them with evidence, and lock behavior with targeted regression tests.","repository":"firecrawl/pdf-inspector","domain":"app-frameworks","topic":"Algorithms","language":"Rust","updated":"2026-08-09","comments":13,"stars":13696,"raw":"https://awesomereviewers.com/raw/pdf-inspector-evidence-gated-heuristics.md"},{"slug":"servo-optimize-algorithmic-complexity","title":"optimize algorithmic complexity","description":"Prioritize algorithmic efficiency by choosing operations and data structures that minimize computational complexity. Look for opportunities to replace O(n) operations with O(1) alternatives, select appropriate data structures for the use case, and avoid unnecessary algorithmic overhead.","repository":"servo/servo","domain":"runtimes","topic":"Algorithms","language":"Rust","updated":"2025-10-22","comments":11,"stars":32962,"raw":"https://awesomereviewers.com/raw/servo-optimize-algorithmic-complexity.md"},{"slug":"alacritty-optimize-algorithmic-efficiency","title":"optimize algorithmic efficiency","description":"Eliminate unnecessary operations and choose appropriate data structures to improve algorithmic efficiency. Look for opportunities to remove redundant computations, avoid unnecessary allocations, and leverage built-in methods instead of manual implementations.","repository":"alacritty/alacritty","domain":"devtools","topic":"Algorithms","language":"Rust","updated":"2025-07-11","comments":10,"stars":59675,"raw":"https://awesomereviewers.com/raw/alacritty-optimize-algorithmic-efficiency.md"},{"slug":"oh-my-pi-edge-case-complete-pathtext-algorithms","title":"Edge-case-complete path/text algorithms","description":"When an algorithm walks a filesystem tree or parses structured text (e.g. resolving `.git` pointer targets, classifying nested repositories, or parsing git-config), base every decision on the actual underlying mechanism rather than a proxy signal, and enumerate the real-world edge cases the mechanism allows before calling the logic complete.","repository":"can1357/oh-my-pi","domain":"app-frameworks","topic":"Algorithms","language":"Rust","updated":"2026-10-21","comments":9,"stars":37317,"raw":"https://awesomereviewers.com/raw/oh-my-pi-edge-case-complete-pathtext-algorithms.md"},{"slug":"tokio-optimize-algorithmic-complexity","title":"Optimize algorithmic complexity","description":"Always consider the time and space complexity implications of your code. Choose data structures and algorithms that minimize computational overhead and memory usage for your specific use cases.","repository":"tokio-rs/tokio","domain":"runtimes","topic":"Algorithms","language":"Rust","updated":"2025-05-08","comments":8,"stars":28989,"raw":"https://awesomereviewers.com/raw/tokio-optimize-algorithmic-complexity.md"},{"slug":"union-choose-efficient-data-structures","title":"Choose efficient data structures","description":"Select data structures and algorithms that optimize for the specific use case rather than defaulting to generic collections. Consider computational complexity, memory usage, and access patterns when making these choices.","repository":"unionlabs/union","domain":"cloud-infra","topic":"Algorithms","language":"Rust","updated":"2025-08-07","comments":7,"stars":74800,"raw":"https://awesomereviewers.com/raw/union-choose-efficient-data-structures.md"},{"slug":"jj-choose-efficient-data-structures","title":"Choose efficient data structures","description":"Select data structures and algorithms based on their performance characteristics and expected usage patterns. Consider the size of collections, access patterns, and computational complexity when making implementation choices.","repository":"jj-vcs/jj","domain":"devtools","topic":"Algorithms","language":"Rust","updated":"2025-10-15","comments":6,"stars":21171,"raw":"https://awesomereviewers.com/raw/jj-choose-efficient-data-structures.md"},{"slug":"tree-sitter-algorithm-and-data-optimization","title":"Algorithm and data optimization","description":"Choose efficient algorithms and appropriate data structures based on access patterns and computational requirements. Use built-in comparison methods like `cmp()` to avoid redundant checks, select data structures that match usage patterns (HashSet for lookups, Vec for iteration), and ensure algorithmic correctness by handling edge cases properly.","repository":"tree-sitter/tree-sitter","domain":"runtimes","topic":"Algorithms","language":"Rust","updated":"2025-08-23","comments":6,"stars":21799,"raw":"https://awesomereviewers.com/raw/tree-sitter-algorithm-and-data-optimization.md"},{"slug":"zed-consider-algorithmic-complexity","title":"Consider algorithmic complexity","description":"When implementing algorithms, be mindful of their computational complexity\\ \\ and choose appropriate data structures for operations. \\n\\n1. **Use specialized\\ \\ collections for their strengths**:","repository":"zed-industries/zed","domain":"devtools","topic":"Algorithms","language":"Rust","updated":"2025-07-01","comments":6,"stars":62119,"raw":"https://awesomereviewers.com/raw/zed-consider-algorithmic-complexity.md"},{"slug":"influxdb-choose-optimal-data-structures","title":"Choose optimal data structures","description":"Select data structures based on specific access patterns and performance requirements. When both fast lookup and predictable iteration order are needed, specialized structures like IndexMap offer benefits over standard HashMap:","repository":"influxdata/influxdb","domain":"data-systems","topic":"Algorithms","language":"Rust","updated":"2024-11-01","comments":6,"stars":30268,"raw":"https://awesomereviewers.com/raw/influxdb-choose-optimal-data-structures.md"},{"slug":"goose-deterministic-normalization-predicates","title":"Deterministic normalization predicates","description":"When transforming, sorting, deduplicating, or merging structured data, ensure comparisons use domain-correct semantics and identity signals are preserved.","repository":"aaif-goose/goose","domain":"ai-agents","topic":"Algorithms","language":"Rust","updated":"2026-07-27","comments":5,"stars":51876,"raw":"https://awesomereviewers.com/raw/goose-deterministic-normalization-predicates.md"}],"prompt_count":25},{"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":{"id":"loom","method":"formal","kind":"concurrency-model-checking","languages":["rust"],"upstream":"https://github.com/tokio-rs/loom","docs":null,"autofix":false,"exit_codes":{},"repos":1,"share":4,"commands":["loom via environment"],"run":null,"via":"loom via environment","triggers":["ci"],"examples":[{"repository":"tokio-rs/tokio","slug":"tokio-rs-tokio"}]},"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":{"id":"miri","method":"formal","kind":"ub-detection","languages":["rust"],"upstream":"https://github.com/rust-lang/miri","docs":null,"autofix":false,"exit_codes":{},"repos":3,"share":11,"commands":["cargo miri clean","cargo miri nextest run --features full --lib --no-fail-fast","cargo miri nextest run --features full --test * --no-fail-fast"],"run":"cargo miri test --features object -p polars-core","via":null,"triggers":["ci","local"],"examples":[{"repository":"zed-industries/zed","slug":"zed-industries-zed"},{"repository":"pola-rs/polars","slug":"pola-rs-polars"},{"repository":"tokio-rs/tokio","slug":"tokio-rs-tokio"}]},"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":{"id":"proptest","method":"testing","kind":"property-tests","languages":["rust"],"upstream":"https://github.com/proptest-rs/proptest","docs":null,"autofix":false,"exit_codes":{},"repos":10,"share":36,"commands":[],"run":null,"via":null,"triggers":[],"examples":[{"repository":"denoland/deno","slug":"denoland-deno"},{"repository":"zed-industries/zed","slug":"zed-industries-zed"},{"repository":"astral-sh/ruff","slug":"astral-sh-ruff"},{"repository":"helix-editor/helix","slug":"helix-editor-helix"},{"repository":"pola-rs/polars","slug":"pola-rs-polars"},{"repository":"servo/servo","slug":"servo-servo"}]},"alternatives":[],"note":null}],"prompts":[{"slug":"goose-bound-async-waits","title":"Bound async waits","description":"In async/concurrent code, always make cancellation/timeout behavior correct, deterministic, and safe against stale work. **Coding standard** 1) **Bound the full operation**: put `tokio::time::timeout` around the *entire* request/handshake/startup sequence that must not hang (including setup/config/mode steps).","repository":"aaif-goose/goose","domain":"ai-agents","topic":"Concurrency","language":"Rust","updated":"2026-07-28","comments":9,"stars":51876,"raw":"https://awesomereviewers.com/raw/goose-bound-async-waits.md"},{"slug":"tokio-release-locks-before-waking","title":"Release locks before waking","description":"In concurrent systems, it's critical to release locks before performing operations that might trigger reentrancy or block the current thread, such as waking waiters. Holding locks while waking tasks can lead to deadlocks if the awakened code attempts to acquire the same lock.","repository":"tokio-rs/tokio","domain":"runtimes","topic":"Concurrency","language":"Rust","updated":"2025-07-03","comments":9,"stars":28989,"raw":"https://awesomereviewers.com/raw/tokio-release-locks-before-waking.md"},{"slug":"influxdb-choose-appropriate-lock-primitives","title":"Choose appropriate lock primitives","description":"Select lock types based on access patterns - prefer RWLock over Mutex for read-heavy operations to enable concurrent reads while allowing exclusive write access. Minimize lock scope to essential operations and avoid holding locks across await points in async code.","repository":"influxdata/influxdb","domain":"data-systems","topic":"Concurrency","language":"Rust","updated":"2024-10-03","comments":8,"stars":30268,"raw":"https://awesomereviewers.com/raw/influxdb-choose-appropriate-lock-primitives.md"},{"slug":"oh-my-pi-cross-process-locking-discipline","title":"Cross-process locking discipline","description":"When mutating shared on-disk state that other processes or threads may touch concurrently (worktree registrations, refs, config files), always serialize the check-then-act sequence behind an explicit, cross-process lock, and never let cleanup code interfere with another holder's in-progress work.","repository":"can1357/oh-my-pi","domain":"app-frameworks","topic":"Concurrency","language":"Rust","updated":"2026-10-25","comments":6,"stars":37317,"raw":"https://awesomereviewers.com/raw/oh-my-pi-cross-process-locking-discipline.md"},{"slug":"herdr-concurrency-bookkeeping-and-cancel","title":"Concurrency bookkeeping and cancel","description":"When concurrency involves async tasks, cross-thread messaging, or callbacks from other components, prefer *explicit bookkeeping* and *bounded, non-blocking communication* so correctness doesn’t rely on timing.","repository":"ogulcancelik/herdr","domain":"app-frameworks","topic":"Concurrency","language":"Rust","updated":"2026-08-09","comments":6,"stars":26924,"raw":"https://awesomereviewers.com/raw/herdr-concurrency-bookkeeping-and-cancel.md"},{"slug":"cline-guard-against-concurrent-state-races","title":"Guard against concurrent state races","description":"When shared state is mutated by multiple threads, background readers/waiters, or async callbacks, treat every check-then-act sequence as a potential race and design for it explicitly:","repository":"cline/cline","domain":"ai-agents","topic":"Concurrency","language":"Rust","updated":"2026-10-24","comments":5,"stars":70886,"raw":"https://awesomereviewers.com/raw/cline-guard-against-concurrent-state-races.md"},{"slug":"warp-serialize-async-per-key","title":"Serialize async per-key","description":"Ensure async/stateful flows are race-free by avoiding overlapping work for the same logical key and by handling events that arrive before the relevant state is ready.","repository":"warpdotdev/warp","domain":"devtools","topic":"Concurrency","language":"Rust","updated":"2026-05-06","comments":5,"stars":56893,"raw":"https://awesomereviewers.com/raw/warp-serialize-async-per-key.md"},{"slug":"rust-document-lock-behavior","title":"Document lock behavior","description":"When implementing or documenting synchronization primitives, always clearly specify how locks behave under exceptional conditions, particularly during thread panics. This information is critical for developers to write robust concurrent code.","repository":"rust-lang/rust","domain":"runtimes","topic":"Concurrency","language":"Rust","updated":"2025-07-20","comments":5,"stars":105254,"raw":"https://awesomereviewers.com/raw/rust-document-lock-behavior.md"},{"slug":"deno-use-appropriate-synchronization-mechanisms","title":"Use appropriate synchronization mechanisms","description":"Select and implement synchronization primitives that match your concurrency requirements and avoid unsafe patterns. Consider the number of consumers, thread safety requirements, and proper initialization order.","repository":"denoland/deno","domain":"runtimes","topic":"Concurrency","language":"Rust","updated":"2025-07-02","comments":5,"stars":103714,"raw":"https://awesomereviewers.com/raw/deno-use-appropriate-synchronization-mechanisms.md"},{"slug":"neon-document-concurrency-design-decisions","title":"Document concurrency design decisions","description":"Always document key concurrency design decisions in code, including: 1. Locking protocols and ordering between multiple locks 2. Assumptions about data access patterns and thread safety","repository":"neondatabase/neon","domain":"data-systems","topic":"Concurrency","language":"Rust","updated":"2025-05-21","comments":5,"stars":19015,"raw":"https://awesomereviewers.com/raw/neon-document-concurrency-design-decisions.md"},{"slug":"goose-avoid-concurrency-anti-patterns","title":"avoid concurrency anti-patterns","description":"Avoid common concurrency anti-patterns that lead to race conditions, deadlocks, and unreliable behavior. Use structured approaches instead of ad-hoc solutions.","repository":"block/goose","domain":"ai-agents","topic":"Concurrency","language":"Rust","updated":"2025-07-30","comments":4,"stars":19037,"raw":"https://awesomereviewers.com/raw/goose-avoid-concurrency-anti-patterns.md"},{"slug":"codex-minimize-blocking-operations","title":"Minimize blocking operations","description":"When writing concurrent code, minimize blocking operations to maintain responsiveness and prevent performance bottlenecks. This applies especially to async contexts and lock usage.","repository":"openai/codex","domain":"ai-agents","topic":"Concurrency","language":"Rust","updated":"2025-07-22","comments":4,"stars":31275,"raw":"https://awesomereviewers.com/raw/codex-minimize-blocking-operations.md"}],"prompt_count":27},{"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":{"id":"cargo-test","method":"testing","kind":"unit-tests","languages":["rust"],"upstream":"https://github.com/rust-lang/cargo","docs":null,"autofix":false,"exit_codes":{},"repos":21,"share":75,"commands":["cargo test --locked","cargo test","cargo test --locked --target wasm32-unknown-unknown -p goose-agent --test wasm"],"run":"cargo test --locked","via":null,"triggers":["ci","local"],"examples":[{"repository":"rust-lang/rust","slug":"rust-lang-rust"},{"repository":"zed-industries/zed","slug":"zed-industries-zed"},{"repository":"astral-sh/uv","slug":"astral-sh-uv"},{"repository":"alacritty/alacritty","slug":"alacritty-alacritty"},{"repository":"warpdotdev/warp","slug":"warpdotdev-warp"},{"repository":"aaif-goose/goose","slug":"aaif-goose-goose"}]},"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":{"id":"cargo-fuzz","method":"testing","kind":"fuzzing","languages":["rust"],"upstream":"https://github.com/rust-fuzz/cargo-fuzz","docs":null,"autofix":false,"exit_codes":{},"repos":5,"share":18,"commands":["cargo fuzz build -s none","cargo fuzz check --all-features"],"run":"cargo fuzz build -s none","via":null,"triggers":["ci"],"examples":[{"repository":"rust-lang/rust","slug":"rust-lang-rust"},{"repository":"denoland/deno","slug":"denoland-deno"},{"repository":"astral-sh/ruff","slug":"astral-sh-ruff"},{"repository":"influxdata/influxdb","slug":"influxdata-influxdb"},{"repository":"tokio-rs/tokio","slug":"tokio-rs-tokio"}]},"alternatives":[],"note":null}],"prompts":[{"slug":"tokio-network-api-design-consistency","title":"Network API design consistency","description":"When designing networking APIs, maintain consistency with existing interfaces while ensuring proper cross-platform compatibility. Follow these key principles:","repository":"tokio-rs/tokio","domain":"runtimes","topic":"Networking","language":"Rust","updated":"2025-01-20","comments":6,"stars":28989,"raw":"https://awesomereviewers.com/raw/tokio-network-api-design-consistency.md"},{"slug":"tokio-socket-configuration-guidance","title":"Socket configuration guidance","description":"When implementing networking APIs, always clearly document socket modes, configuration options, and platform-specific behaviors. Be explicit about blocking versus non-blocking mode implications, required flags, and ensure consistent API design across related components.","repository":"tokio-rs/tokio","domain":"runtimes","topic":"Networking","language":"Rust","updated":"2025-02-21","comments":5,"stars":28981,"raw":"https://awesomereviewers.com/raw/tokio-socket-configuration-guidance.md"},{"slug":"warp-sse-and-sync-eligibility","title":"SSE and Sync Eligibility","description":"When implementing networking/event-streaming and bidirectional sync, make event delivery correctness explicit: who owns the subscription, who owns cursor advancement, and whether an event should be echoed back.","repository":"warpdotdev/warp","domain":"devtools","topic":"Networking","language":"Rust","updated":"2026-05-07","comments":4,"stars":56893,"raw":"https://awesomereviewers.com/raw/warp-sse-and-sync-eligibility.md"},{"slug":"neon-connection-pooling-with-pipelining","title":"Connection pooling with pipelining","description":"Implement connection pooling with request pipelining for network services to optimize resource usage and improve throughput. Pool should manage three resource levels:","repository":"neondatabase/neon","domain":"data-systems","topic":"Networking","language":"Rust","updated":"2025-07-08","comments":4,"stars":19015,"raw":"https://awesomereviewers.com/raw/neon-connection-pooling-with-pipelining.md"},{"slug":"uv-respect-connectivity-state","title":"Respect connectivity state","description":"Applications should gracefully handle different network connectivity states and provide appropriate feedback to users. Follow these guidelines: 1. **Check connectivity state before network operations** - Always verify if the application is in offline mode before attempting network requests","repository":"astral-sh/uv","domain":"devtools","topic":"Networking","language":"Rust","updated":"2025-06-02","comments":4,"stars":60322,"raw":"https://awesomereviewers.com/raw/uv-respect-connectivity-state.md"},{"slug":"axum-handle-protocol-headers-properly","title":"Handle protocol headers properly","description":"When implementing network services, especially proxies and protocol handlers, proper HTTP header management is critical for correct functionality, compatibility, and diagnostics.","repository":"tokio-rs/axum","domain":"app-frameworks","topic":"Networking","language":"Rust","updated":"","comments":4,"stars":22100,"raw":"https://awesomereviewers.com/raw/axum-handle-protocol-headers-properly.md"},{"slug":"deno-network-address-validation","title":"network address validation","description":"When validating network addresses and interfaces, properly handle special address values and use protocol-specific prefixes to avoid ambiguity. Network address validation should account for standard special addresses like `INADDR_ANY` (0.0.0.0) which allows the operating system to choose an appropriate interface, rather than treating them as invalid. For...","repository":"denoland/deno","domain":"runtimes","topic":"Networking","language":"Rust","updated":"2025-07-24","comments":3,"stars":103714,"raw":"https://awesomereviewers.com/raw/deno-network-address-validation.md"},{"slug":"servo-network-request-configuration","title":"Network request configuration","description":"When creating network requests, ensure all security-sensitive parameters are properly configured including origin, referrer, CORS mode, and destination. Incomplete request configuration can lead to test failures, security vulnerabilities, and incorrect cross-origin behavior.","repository":"servo/servo","domain":"runtimes","topic":"Networking","language":"Rust","updated":"2025-10-17","comments":2,"stars":32962,"raw":"https://awesomereviewers.com/raw/servo-network-request-configuration.md"},{"slug":"jj-optimize-remote-fetch-operations","title":"optimize remote fetch operations","description":"When implementing network operations that fetch data from remote sources, configure specific refspecs or patterns to fetch only the required data rather than everything available. This reduces network bandwidth usage, improves performance, and ensures future operations remain efficient.","repository":"jj-vcs/jj","domain":"devtools","topic":"Networking","language":"Rust","updated":"2025-10-11","comments":2,"stars":21171,"raw":"https://awesomereviewers.com/raw/jj-optimize-remote-fetch-operations.md"}],"prompt_count":9},{"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":{"id":"clippy","method":"static_analysis","kind":"linting","languages":["rust"],"upstream":"https://github.com/rust-lang/rust-clippy","docs":null,"autofix":false,"exit_codes":{},"repos":25,"share":89,"commands":["cargo clippy --workspace --all-targets -- -D warnings","cargo clippy --all-targets -- -D warnings","cargo clippy --workspace --all-targets --all-features -- -D warnings"],"run":"cargo clippy --workspace --all-targets -- -D warnings","via":null,"triggers":["ci","local"],"examples":[{"repository":"rust-lang/rust","slug":"rust-lang-rust"},{"repository":"denoland/deno","slug":"denoland-deno"},{"repository":"unionlabs/union","slug":"unionlabs-union"},{"repository":"zed-industries/zed","slug":"zed-industries-zed"},{"repository":"astral-sh/uv","slug":"astral-sh-uv"},{"repository":"alacritty/alacritty","slug":"alacritty-alacritty"}]},"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":{"id":"cargo-test","method":"testing","kind":"unit-tests","languages":["rust"],"upstream":"https://github.com/rust-lang/cargo","docs":null,"autofix":false,"exit_codes":{},"repos":21,"share":75,"commands":["cargo test --locked","cargo test","cargo test --locked --target wasm32-unknown-unknown -p goose-agent --test wasm"],"run":"cargo test --locked","via":null,"triggers":["ci","local"],"examples":[{"repository":"rust-lang/rust","slug":"rust-lang-rust"},{"repository":"zed-industries/zed","slug":"zed-industries-zed"},{"repository":"astral-sh/uv","slug":"astral-sh-uv"},{"repository":"alacritty/alacritty","slug":"alacritty-alacritty"},{"repository":"warpdotdev/warp","slug":"warpdotdev-warp"},{"repository":"aaif-goose/goose","slug":"aaif-goose-goose"}]},"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":18,"share":64,"commands":["desktop-updater-install (os: 2)","rust-build-and-test-tls (tls-feature: 2)","analyze (include: 4)"],"run":"desktop-updater-install (os: 2)","via":null,"triggers":["ci"],"examples":[{"repository":"astral-sh/uv","slug":"astral-sh-uv"},{"repository":"alacritty/alacritty","slug":"alacritty-alacritty"},{"repository":"warpdotdev/warp","slug":"warpdotdev-warp"},{"repository":"aaif-goose/goose","slug":"aaif-goose-goose"},{"repository":"astral-sh/ruff","slug":"astral-sh-ruff"},{"repository":"helix-editor/helix","slug":"helix-editor-helix"}]},"alternatives":[{"id":"cargo-hack","repos":4,"share":14}],"note":null}],"prompts":[{"slug":"goose-migration-consistency-rules","title":"Migration consistency rules","description":"When changing config schemas, treat migrations as part of the API contract: migrations must be safe under partial/legacy states and must not cause read/write skew that overwrites migrated data.","repository":"aaif-goose/goose","domain":"ai-agents","topic":"Migrations","language":"Rust","updated":"2026-05-14","comments":5,"stars":51876,"raw":"https://awesomereviewers.com/raw/goose-migration-consistency-rules.md"},{"slug":"influxdb-manage-complete-cache-lifecycle","title":"Manage complete cache lifecycle","description":"Implement comprehensive cache lifecycle management focusing on three key aspects: 1. Idempotent Creation: Make cache creation idempotent by returning success for identical configurations and error only for conflicting ones. This enables reliable automation and prevents redundant cache instances.","repository":"influxdata/influxdb","domain":"data-systems","topic":"Caching","language":"Rust","updated":"2025-03-14","comments":5,"stars":30268,"raw":"https://awesomereviewers.com/raw/influxdb-manage-complete-cache-lifecycle.md"},{"slug":"influxdb-stable-schema-identifiers","title":"Stable schema identifiers","description":"Use persistent identifiers for schema elements rather than relying on positional information or enumeration, which can break when schema changes occur. Assign unique, immutable IDs to database objects like tables and columns, and ensure these IDs remain stable throughout the object's lifecycle.","repository":"influxdata/influxdb","domain":"data-systems","topic":"Database","language":"Rust","updated":"2024-10-10","comments":5,"stars":30268,"raw":"https://awesomereviewers.com/raw/influxdb-stable-schema-identifiers.md"},{"slug":"warp-cache-key-consistency","title":"Cache Key Consistency","description":"When you cache UI/model state, make the cache key and lifecycle unambiguous: - **Key boundary:** Perform the cache lookup using the exact key form the cache was populated with. Apply normalization/transformation *after* the lookup (only when constructing the output key/label), unless you also normalize consistently when inserting.","repository":"warpdotdev/warp","domain":"devtools","topic":"Caching","language":"Rust","updated":"2026-05-07","comments":4,"stars":56893,"raw":"https://awesomereviewers.com/raw/warp-cache-key-consistency.md"},{"slug":"hyperswitch-database-schema-consistency","title":"Database schema consistency","description":"Ensure database schema definitions are consistent with ORM annotations and include proper constraints for data integrity and security. This includes matching primary key definitions between migrations and ORM models, making foreign key relationships mandatory where appropriate, and requiring tenant identifiers in queries to prevent cross-tenant data access.","repository":"juspay/hyperswitch","domain":"app-frameworks","topic":"Database","language":"Rust","updated":"2025-09-10","comments":4,"stars":34028,"raw":"https://awesomereviewers.com/raw/hyperswitch-database-schema-consistency.md"},{"slug":"polars-optimize-data-transformations","title":"Optimize data transformations","description":"When implementing data processing operations, avoid unnecessary data transformations, copies, and conversions that can impact query performance. Consider these practices:","repository":"pola-rs/polars","domain":"data-systems","topic":"Database","language":"Rust","updated":"2025-06-04","comments":4,"stars":34296,"raw":"https://awesomereviewers.com/raw/polars-optimize-data-transformations.md"},{"slug":"goose-versioned-cache-coherence","title":"Versioned cache coherence","description":"When a cache is invalidated asynchronously, ensure *coherence* between (a) the invalidation/version signal and (b) the cached payload/derived artifacts.","repository":"aaif-goose/goose","domain":"ai-agents","topic":"Caching","language":"Rust","updated":"2026-07-26","comments":3,"stars":51876,"raw":"https://awesomereviewers.com/raw/goose-versioned-cache-coherence.md"},{"slug":"deno-control-cache-lifecycle","title":"Control cache lifecycle","description":"Design cache systems so that higher-level components control when cache entries are invalidated or cleaned up, rather than having cache operations happen automatically at lower levels. This allows callers to make informed decisions about cache lifecycle based on their broader context and requirements.","repository":"denoland/deno","domain":"runtimes","topic":"Caching","language":"Rust","updated":"2025-07-03","comments":3,"stars":103714,"raw":"https://awesomereviewers.com/raw/deno-control-cache-lifecycle.md"},{"slug":"neon-database-before-memory","title":"Database before memory","description":"When working with database systems that also maintain in-memory state, always update the persistent database state before updating the in-memory representation. This ensures that if a crash occurs between operations, the system can correctly rebuild its state from the database without inconsistencies or \"time traveling\" issues.","repository":"neondatabase/neon","domain":"data-systems","topic":"Database","language":"Rust","updated":"2025-07-01","comments":3,"stars":19015,"raw":"https://awesomereviewers.com/raw/neon-database-before-memory.md"},{"slug":"neon-configurable-cache-parameters","title":"Configurable cache parameters","description":"Cache configurations should be runtime-configurable rather than hardcoded, with support for dynamic resizing when configuration changes. This practice improves adaptability to varying workloads and environments without requiring service restarts.","repository":"neondatabase/neon","domain":"data-systems","topic":"Caching","language":"Rust","updated":"2025-05-21","comments":3,"stars":19015,"raw":"https://awesomereviewers.com/raw/neon-configurable-cache-parameters.md"},{"slug":"union-sql-query-best-practices","title":"SQL query best practices","description":"Always include ORDER BY clauses in paginated queries to ensure consistent results across multiple requests. Without explicit ordering, databases may return results in different orders each time, making pagination unreliable and potentially causing data to be skipped or duplicated.","repository":"unionlabs/union","domain":"cloud-infra","topic":"Database","language":"Rust","updated":"2024-07-11","comments":3,"stars":74800,"raw":"https://awesomereviewers.com/raw/union-sql-query-best-practices.md"},{"slug":"union-version-serializable-structures","title":"Version serializable structures","description":"All serializable data structures that may evolve over time must include explicit versioning to enable backward and forward compatibility during migrations. This prevents breaking changes when schemas need to evolve and allows for graceful handling of different versions.","repository":"unionlabs/union","domain":"cloud-infra","topic":"Migrations","language":"Rust","updated":"2025-06-20","comments":2,"stars":74800,"raw":"https://awesomereviewers.com/raw/union-version-serializable-structures.md"}],"prompt_count":12},{"slug":"performance","title":"Hot paths and performance","topics":["Performance Optimization"],"checks":[],"prompts":[{"slug":"helix-minimize-allocations-and-syscalls","title":"Minimize allocations and syscalls","description":"Optimize performance by minimizing unnecessary memory allocations and system calls. Key practices: 1. Avoid unnecessary String allocations: ```rust // Instead of","repository":"helix-editor/helix","domain":"devtools","topic":"Performance Optimization","language":"Rust","updated":"2025-05-04","comments":10,"stars":39026,"raw":"https://awesomereviewers.com/raw/helix-minimize-allocations-and-syscalls.md"},{"slug":"deno-minimize-memory-allocations","title":"minimize memory allocations","description":"Identify and eliminate unnecessary memory allocations in performance-critical code paths. This includes pre-allocating collections when the size is known, using static strings for common values, and avoiding intermediate data structures.","repository":"denoland/deno","domain":"runtimes","topic":"Performance Optimization","language":"Rust","updated":"2025-06-05","comments":9,"stars":103714,"raw":"https://awesomereviewers.com/raw/deno-minimize-memory-allocations.md"},{"slug":"warp-bound-large-work","title":"Bound Large Work","description":"When code performs expensive IO/compute or reacts to frequent events, (1) gate side effects to meaningful state changes, (2) bound or chunk large inputs/outputs before allocation or heavy processing, and (3) cache/share to avoid repeated recomputation and deep clones.","repository":"warpdotdev/warp","domain":"devtools","topic":"Performance Optimization","language":"Rust","updated":"2026-05-07","comments":8,"stars":56893,"raw":"https://awesomereviewers.com/raw/warp-bound-large-work.md"},{"slug":"servo-avoid-unnecessary-work","title":"avoid unnecessary work","description":"Identify and eliminate computational work that serves no purpose, particularly for inactive, hidden, or irrelevant elements. This includes early returns for non-visible components, lazy initialization of expensive resources, and preventing work during inappropriate timing.","repository":"servo/servo","domain":"runtimes","topic":"Performance Optimization","language":"Rust","updated":"2025-10-23","comments":8,"stars":32962,"raw":"https://awesomereviewers.com/raw/servo-avoid-unnecessary-work.md"},{"slug":"influxdb-minimize-critical-path-allocations","title":"Minimize critical path allocations","description":"Avoid unnecessary memory allocations in performance-critical code paths. These allocations not only consume memory but also trigger expensive CPU operations that can significantly impact system performance.","repository":"influxdata/influxdb","domain":"data-systems","topic":"Performance Optimization","language":"Rust","updated":"2025-05-26","comments":8,"stars":30268,"raw":"https://awesomereviewers.com/raw/influxdb-minimize-critical-path-allocations.md"},{"slug":"tree-sitter-optimize-frequent-operations","title":"Optimize frequent operations","description":"Identify code paths that execute frequently (loops, hot functions, repeated calls) and optimize them by avoiding redundant computations, expensive operations, and unnecessary allocations.","repository":"tree-sitter/tree-sitter","domain":"runtimes","topic":"Performance Optimization","language":"Rust","updated":"2025-07-13","comments":6,"stars":21799,"raw":"https://awesomereviewers.com/raw/tree-sitter-optimize-frequent-operations.md"},{"slug":"neon-minimize-unnecessary-allocations","title":"Minimize unnecessary allocations","description":"Avoid allocations and cloning when they don''t provide sufficient benefit relative to their performance cost. Balance optimization efforts against code readability, especially in rarely executed paths. Specifically:","repository":"neondatabase/neon","domain":"data-systems","topic":"Performance Optimization","language":"Rust","updated":"2025-07-08","comments":6,"stars":19015,"raw":"https://awesomereviewers.com/raw/neon-minimize-unnecessary-allocations.md"},{"slug":"polars-optimize-memory-allocation-patterns","title":"Optimize memory allocation patterns","description":"Minimize memory allocations and optimize allocation patterns to improve performance. Key practices: 1. Pre-allocate collections with known sizes 2. Avoid unnecessary intermediate allocations","repository":"pola-rs/polars","domain":"data-systems","topic":"Performance Optimization","language":"Rust","updated":"2025-06-29","comments":6,"stars":34296,"raw":"https://awesomereviewers.com/raw/polars-optimize-memory-allocation-patterns.md"},{"slug":"tokio-optimize-memory-allocation","title":"Optimize memory allocation","description":"Be deliberate about memory allocation patterns to improve performance. Implement these practices: 1. **Pre-allocate collections when the size is known**:","repository":"tokio-rs/tokio","domain":"runtimes","topic":"Performance Optimization","language":"Rust","updated":"2025-02-27","comments":6,"stars":28981,"raw":"https://awesomereviewers.com/raw/tokio-optimize-memory-allocation.md"},{"slug":"rust-benchmark-before-optimizing-code","title":"Benchmark before optimizing code","description":"Always validate performance optimizations with benchmarks before implementation. Ensure measurements account for: 1. Platform-specific characteristics (32-bit vs 64-bit)","repository":"rust-lang/rust","domain":"runtimes","topic":"Performance Optimization","language":"Rust","updated":"2025-07-23","comments":5,"stars":105254,"raw":"https://awesomereviewers.com/raw/rust-benchmark-before-optimizing-code.md"},{"slug":"ruff-profile-allocations-before-optimization","title":"Profile allocations before optimization","description":"Before implementing data structures or algorithms, analyze allocation patterns and optimize for common cases. Key strategies: 1. Use fixed-size arrays for known small collections:","repository":"astral-sh/ruff","domain":"devtools","topic":"Performance Optimization","language":"Rust","updated":"2025-07-03","comments":5,"stars":40619,"raw":"https://awesomereviewers.com/raw/ruff-profile-allocations-before-optimization.md"},{"slug":"tokio-optimize-hot-paths","title":"Optimize hot paths","description":"Identify and optimize frequently executed code paths to improve performance. Hot paths have a significant impact on overall application performance. Key strategies include:","repository":"tokio-rs/tokio","domain":"runtimes","topic":"Performance Optimization","language":"Rust","updated":"2025-06-10","comments":5,"stars":28989,"raw":"https://awesomereviewers.com/raw/tokio-optimize-hot-paths.md"}],"prompt_count":26},{"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":{"id":"cargo-test","method":"testing","kind":"unit-tests","languages":["rust"],"upstream":"https://github.com/rust-lang/cargo","docs":null,"autofix":false,"exit_codes":{},"repos":21,"share":75,"commands":["cargo test --locked","cargo test","cargo test --locked --target wasm32-unknown-unknown -p goose-agent --test wasm"],"run":"cargo test --locked","via":null,"triggers":["ci","local"],"examples":[{"repository":"rust-lang/rust","slug":"rust-lang-rust"},{"repository":"zed-industries/zed","slug":"zed-industries-zed"},{"repository":"astral-sh/uv","slug":"astral-sh-uv"},{"repository":"alacritty/alacritty","slug":"alacritty-alacritty"},{"repository":"warpdotdev/warp","slug":"warpdotdev-warp"},{"repository":"aaif-goose/goose","slug":"aaif-goose-goose"}]},"alternatives":[],"note":null}],"prompts":[{"slug":"goose-canonical-model-capabilities","title":"Canonical Model Capabilities","description":"When integrating LLM providers/models, derive capability flags and limits from canonical model metadata (catalog) and apply deterministic compatibility rules with explicit fallbacks—avoid brittle name-based heuristics and keep user overrides authoritative.","repository":"aaif-goose/goose","domain":"ai-agents","topic":"AI","language":"Rust","updated":"2026-07-10","comments":8,"stars":51876,"raw":"https://awesomereviewers.com/raw/goose-canonical-model-capabilities.md"},{"slug":"goose-ai-model-configuration-consistency","title":"AI model configuration consistency","description":"Maintain consistent AI model metadata and configuration across all providers to prevent breaking changes and ensure reliable behavior. When adding new models or updating existing ones, always update corresponding token limits, default configurations, and provider mappings simultaneously.","repository":"block/goose","domain":"ai-agents","topic":"AI","language":"Rust","updated":"2025-08-25","comments":6,"stars":19037,"raw":"https://awesomereviewers.com/raw/goose-ai-model-configuration-consistency.md"},{"slug":"zed-use-structured-model-metadata","title":"Use structured model metadata","description":"Represent AI model information using structured data rather than hardcoded enumerations or conditionals. Store capabilities, limitations, and features as structured fields that can be queried at runtime. This approach simplifies adding new models, detecting feature support, and adapting to model updates without requiring extensive code changes.","repository":"zed-industries/zed","domain":"devtools","topic":"AI","language":"Rust","updated":"2025-06-21","comments":5,"stars":62119,"raw":"https://awesomereviewers.com/raw/zed-use-structured-model-metadata.md"},{"slug":"tokenizers-modular-model-components","title":"Modular model components","description":"Design machine learning model code with clear component boundaries and proper separation of concerns. Each component (tokenizer, normalizer, model, etc.) should have a single responsibility with appropriate visibility modifiers.","repository":"huggingface/tokenizers","domain":"ml-systems","topic":"AI","language":"Rust","updated":"2024-07-11","comments":3,"stars":9868,"raw":"https://awesomereviewers.com/raw/tokenizers-modular-model-components.md"}],"prompt_count":4},{"slug":"observability","title":"Logging, metrics, tracing","topics":["Logging","Observability"],"checks":[],"prompts":[{"slug":"neon-log-level-appropriately","title":"Log level appropriately","description":"Select the appropriate log level based on operational significance and ensure messages are clear, accurate, and formatted for human readability: 1. **ERROR**: Use for failures requiring immediate attention","repository":"neondatabase/neon","domain":"data-systems","topic":"Logging","language":"Rust","updated":"2025-06-30","comments":6,"stars":19015,"raw":"https://awesomereviewers.com/raw/neon-log-level-appropriately.md"},{"slug":"neon-design-metrics-for-insights","title":"Design metrics for insights","description":"Design metrics that provide actionable insights while maintaining system efficiency. Follow these key principles: 1. Track success and failure counts instead of just total counts to enable error rate calculations","repository":"neondatabase/neon","domain":"data-systems","topic":"Observability","language":"Rust","updated":"2025-07-08","comments":5,"stars":19015,"raw":"https://awesomereviewers.com/raw/neon-design-metrics-for-insights.md"},{"slug":"influxdb-use-structured-logging-fields","title":"Use structured logging fields","description":"Always use structured logging with descriptive field names rather than string interpolation. Include relevant context variables such as identifiers, durations, and parameters to make logs more useful for debugging and monitoring. This practice makes logs more searchable, filterable, and easier to analyze.","repository":"influxdata/influxdb","domain":"data-systems","topic":"Logging","language":"Rust","updated":"2025-06-03","comments":4,"stars":30268,"raw":"https://awesomereviewers.com/raw/influxdb-use-structured-logging-fields.md"},{"slug":"influxdb-performance-conscious-metrics-implementation","title":"Performance-conscious metrics implementation","description":"Implement metrics collection that is both comprehensive and minimally impactful on system performance. Design your metrics system to avoid creating bottlenecks in critical paths.","repository":"influxdata/influxdb","domain":"data-systems","topic":"Observability","language":"Rust","updated":"2025-06-02","comments":4,"stars":30268,"raw":"https://awesomereviewers.com/raw/influxdb-performance-conscious-metrics-implementation.md"},{"slug":"union-use-structured-logging-fields","title":"Use structured logging fields","description":"Prefer structured logging fields over string formatting in tracing logs to improve searchability, parsing, and consistency. Use field syntax like `field = %value` or `%field` instead of embedding values directly in log messages. Keep log messages single-line, lowercase, and include relevant context as separate fields.","repository":"unionlabs/union","domain":"cloud-infra","topic":"Logging","language":"Rust","updated":"2025-04-18","comments":4,"stars":74800,"raw":"https://awesomereviewers.com/raw/union-use-structured-logging-fields.md"},{"slug":"turborepo-choose-logging-levels-wisely","title":"Choose logging levels wisely","description":"Select appropriate logging levels based on the frequency and importance of the logged operation. Use `trace` for high-frequency operations (e.g., operations executed once per package or file) to prevent log noise at lower verbosity levels, and reserve `debug` for less frequent, more significant events or aggregated information.","repository":"vercel/turborepo","domain":"devtools","topic":"Logging","language":"Rust","updated":"2024-08-13","comments":4,"stars":28115,"raw":"https://awesomereviewers.com/raw/turborepo-choose-logging-levels-wisely.md"},{"slug":"goose-use-established-logging-libraries","title":"Use established logging libraries","description":"Avoid using print statements (println!, eprintln!) or custom logging implementations for application logging. Instead, use established logging libraries like `tracing` that provide proper log levels, structured output, and configurable destinations.","repository":"block/goose","domain":"ai-agents","topic":"Logging","language":"Rust","updated":"2025-08-22","comments":2,"stars":19037,"raw":"https://awesomereviewers.com/raw/goose-use-established-logging-libraries.md"},{"slug":"goose-conditional-telemetry-flushing","title":"Conditional telemetry flushing","description":"Avoid fixed delays for telemetry flushing. Instead, make flushing conditional on whether telemetry endpoints are configured and use dynamic timeouts when possible.","repository":"block/goose","domain":"ai-agents","topic":"Observability","language":"Rust","updated":"2025-08-06","comments":2,"stars":19037,"raw":"https://awesomereviewers.com/raw/goose-conditional-telemetry-flushing.md"}],"prompt_count":8},{"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":1,"share":4,"commands":["pre-commit hook check-merge-conflict","pre-commit hook end-of-file-fixer"],"run":null,"via":"pre-commit hook end-of-file-fixer","triggers":["pre_commit"],"examples":[{"repository":"astral-sh/ruff","slug":"astral-sh-ruff"}]},"alternatives":[],"note":null}],"prompts":[{"slug":"zed-standardize-platform-agnostic-configuration","title":"Standardize platform-agnostic configuration","description":"Ensure configuration handling is consistent and platform-agnostic by following these guidelines: 1. Use environment variables with fallbacks: ```rust","repository":"zed-industries/zed","domain":"devtools","topic":"Configurations","language":"Rust","updated":"2025-06-17","comments":10,"stars":62119,"raw":"https://awesomereviewers.com/raw/zed-standardize-platform-agnostic-configuration.md"},{"slug":"turborepo-validate-configurations-comprehensively","title":"Validate configurations comprehensively","description":"When implementing configuration systems, ensure comprehensive validation, testing, and documentation. Key requirements: 1. Use an allowlist approach - explicitly categorize and validate ALL configuration fields","repository":"vercel/turborepo","domain":"devtools","topic":"Configurations","language":"Rust","updated":"2025-07-01","comments":8,"stars":28115,"raw":"https://awesomereviewers.com/raw/turborepo-validate-configurations-comprehensively.md"},{"slug":"warp-config-gating-and-validation","title":"Config Gating And Validation","description":"When behavior depends on platform features, build features, feature flags, or user-provided configuration, keep it explicitly scoped and validated. Apply this checklist:","repository":"warpdotdev/warp","domain":"devtools","topic":"Configurations","language":"Rust","updated":"2026-05-08","comments":7,"stars":56893,"raw":"https://awesomereviewers.com/raw/warp-config-gating-and-validation.md"},{"slug":"rust-standardize-configuration-value-handling","title":"Standardize configuration value handling","description":"Implement robust and type-safe configuration handling to avoid fragile hardcoding and improve maintainability. Key guidelines: 1. Use type-safe structures for passing configuration between processes instead of raw strings","repository":"rust-lang/rust","domain":"runtimes","topic":"Configurations","language":"Rust","updated":"2025-07-22","comments":7,"stars":105254,"raw":"https://awesomereviewers.com/raw/rust-standardize-configuration-value-handling.md"},{"slug":"tree-sitter-prefer-compile-time-configuration","title":"prefer compile-time configuration","description":"Use compile-time configuration checks with `cfg!` macros instead of runtime environment variable parsing when the configuration decision can be determined at build time. This improves performance by eliminating runtime checks and makes the code's behavior more predictable.","repository":"tree-sitter/tree-sitter","domain":"runtimes","topic":"Configurations","language":"Rust","updated":"2025-07-11","comments":7,"stars":21799,"raw":"https://awesomereviewers.com/raw/tree-sitter-prefer-compile-time-configuration.md"},{"slug":"tokio-structure-conditional-compilation","title":"Structure conditional compilation","description":"Use organized structural patterns for conditional compilation to improve code maintainability and readability. Avoid applying `#[cfg]` attributes directly to function parameters - instead wrap conditionally available data in structs that can be zero-sized when features are disabled:","repository":"tokio-rs/tokio","domain":"runtimes","topic":"Configurations","language":"Rust","updated":"2025-06-30","comments":7,"stars":28981,"raw":"https://awesomereviewers.com/raw/tokio-structure-conditional-compilation.md"},{"slug":"goose-unified-configuration-semantics","title":"Unified configuration semantics","description":"Coding standard: Centralize configuration/credential semantics and never “re-derive” them in multiple places. Read from the real sources (env/config and provider-specific runtime credential caches), preserve provider identity during legacy interop, and let canonical normalizers own final resolution.","repository":"aaif-goose/goose","domain":"ai-agents","topic":"Configurations","language":"Rust","updated":"2026-06-28","comments":6,"stars":51876,"raw":"https://awesomereviewers.com/raw/goose-unified-configuration-semantics.md"},{"slug":"hyperswitch-avoid-hardcoded-configuration-values","title":"Avoid hardcoded configuration values","description":"Configuration values should not be hardcoded in the source code. Instead, they should be externalized to configuration files, environment variables, or made configurable through application settings. This improves maintainability, allows for environment-specific customization, and prevents deployment issues.","repository":"juspay/hyperswitch","domain":"app-frameworks","topic":"Configurations","language":"Rust","updated":"2025-09-17","comments":6,"stars":34028,"raw":"https://awesomereviewers.com/raw/hyperswitch-avoid-hardcoded-configuration-values.md"},{"slug":"goose-avoid-environment-variable-proliferation","title":"avoid environment variable proliferation","description":"Prefer the consolidated config system over adding new environment variables. Environment variables should only be used for deployment-specific overrides, not as the primary configuration mechanism.","repository":"block/goose","domain":"ai-agents","topic":"Configurations","language":"Rust","updated":"2025-08-15","comments":6,"stars":19037,"raw":"https://awesomereviewers.com/raw/goose-avoid-environment-variable-proliferation.md"},{"slug":"tokio-structural-configuration-approaches","title":"Structural configuration approaches","description":"When working with feature flags and conditional compilation, prefer structural approaches over scattered configuration attributes throughout your code. This creates more maintainable code and reduces the chance of bugs when features are added or removed.","repository":"tokio-rs/tokio","domain":"runtimes","topic":"Configurations","language":"Rust","updated":"2025-06-30","comments":6,"stars":28989,"raw":"https://awesomereviewers.com/raw/tokio-structural-configuration-approaches.md"},{"slug":"oh-my-pi-match-external-config-semantics-exactly","title":"Match external config semantics exactly","description":"When reading, writing, or transferring configuration governed by an external format or tool (e.g. git''s config files), replicate that tool''s full semantics rather than the common-case behavior, and cover each semantic edge case with a dedicated test. Config-file parsing has subtle rules that are easy to miss on a first pass: repeated keys must resolve using...","repository":"can1357/oh-my-pi","domain":"cloud-infra","topic":"Configurations","language":"Rust","updated":"2026-10-21","comments":5,"stars":37317,"raw":"https://awesomereviewers.com/raw/oh-my-pi-match-external-config-semantics-exactly.md"},{"slug":"codex-centralize-configuration-management","title":"Centralize configuration management","description":"Prefer centralized configuration objects over environment variables for application settings. Environment variables create inconsistent configuration sources and can lead to maintenance challenges.","repository":"openai/codex","domain":"ai-agents","topic":"Configurations","language":"Rust","updated":"2025-07-22","comments":5,"stars":31275,"raw":"https://awesomereviewers.com/raw/codex-centralize-configuration-management.md"}],"prompt_count":24},{"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":{"id":"cargo-deny","method":"supply_chain","kind":"dependency-audit","languages":["rust"],"upstream":"https://github.com/EmbarkStudios/cargo-deny","docs":null,"autofix":false,"exit_codes":{},"repos":16,"share":57,"commands":["cargo deny --all-features check bans","cargo deny --all-features check licenses","cargo deny --all-features check sources"],"run":"cargo deny --locked --all-features check licenses","via":"GitHub Action EmbarkStudios/cargo-deny-action","triggers":["ci","local"],"examples":[{"repository":"astral-sh/uv","slug":"astral-sh-uv"},{"repository":"warpdotdev/warp","slug":"warpdotdev-warp"},{"repository":"aaif-goose/goose","slug":"aaif-goose-goose"},{"repository":"astral-sh/ruff","slug":"astral-sh-ruff"},{"repository":"can1357/oh-my-pi","slug":"can1357-oh-my-pi"},{"repository":"pola-rs/polars","slug":"pola-rs-polars"}]},"alternatives":[{"id":"cargo-audit","repos":2,"share":7},{"id":"dependency-review","repos":1,"share":4}],"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":18,"share":64,"commands":["desktop-updater-install (os: 2)","rust-build-and-test-tls (tls-feature: 2)","analyze (include: 4)"],"run":"desktop-updater-install (os: 2)","via":null,"triggers":["ci"],"examples":[{"repository":"astral-sh/uv","slug":"astral-sh-uv"},{"repository":"alacritty/alacritty","slug":"alacritty-alacritty"},{"repository":"warpdotdev/warp","slug":"warpdotdev-warp"},{"repository":"aaif-goose/goose","slug":"aaif-goose-goose"},{"repository":"astral-sh/ruff","slug":"astral-sh-ruff"},{"repository":"helix-editor/helix","slug":"helix-editor-helix"}]},"alternatives":[{"id":"cargo-hack","repos":4,"share":14}],"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":18,"share":64,"commands":["desktop-updater-install (os: 2)","rust-build-and-test-tls (tls-feature: 2)","analyze (include: 4)"],"run":"desktop-updater-install (os: 2)","via":null,"triggers":["ci"],"examples":[{"repository":"astral-sh/uv","slug":"astral-sh-uv"},{"repository":"alacritty/alacritty","slug":"alacritty-alacritty"},{"repository":"warpdotdev/warp","slug":"warpdotdev-warp"},{"repository":"aaif-goose/goose","slug":"aaif-goose-goose"},{"repository":"astral-sh/ruff","slug":"astral-sh-ruff"},{"repository":"helix-editor/helix","slug":"helix-editor-helix"}]},"alternatives":[{"id":"cargo-hack","repos":4,"share":14}],"note":null}],"prompts":[{"slug":"warp-structured-meaningful-tests","title":"Structured, Meaningful Tests","description":"Tests should follow consistent structure and provide high-signal coverage. Apply these rules: 1) Put tests in dedicated files - Follow the repo convention: place unit tests in separate `*_tests.rs` (or `*_test.rs`) files, not inline `#[cfg(test)] mod tests { ... }` blocks.","repository":"warpdotdev/warp","domain":"devtools","topic":"Testing","language":"Rust","updated":"2026-05-08","comments":9,"stars":56893,"raw":"https://awesomereviewers.com/raw/warp-structured-meaningful-tests.md"},{"slug":"tokio-write-focused-single-purpose-tests","title":"Write focused single-purpose tests","description":"Break down large test cases into smaller, focused tests that each verify a single feature or behavior. Each test should have a clear purpose that is evident from its name and structure. This improves test maintainability, readability, and makes failures easier to debug.","repository":"tokio-rs/tokio","domain":"runtimes","topic":"Testing","language":"Rust","updated":"2025-05-07","comments":8,"stars":28981,"raw":"https://awesomereviewers.com/raw/tokio-write-focused-single-purpose-tests.md"},{"slug":"rust-ensure-complete-test-coverage","title":"Ensure complete test coverage","description":"Write comprehensive tests that cover all relevant cases and variations while maintaining proper organization and structure. Key practices: 1. Place tests in appropriate locations (e.g., core tests in `library/coretests`)","repository":"rust-lang/rust","domain":"runtimes","topic":"Testing","language":"Rust","updated":"2025-07-21","comments":7,"stars":105254,"raw":"https://awesomereviewers.com/raw/rust-ensure-complete-test-coverage.md"},{"slug":"zed-test-through-public-apis","title":"Test through public APIs","description":"Write comprehensive tests that validate functionality through public interfaces rather than testing implementation details. Tests should cover diverse scenarios, handle platform-specific cases, and use appropriate assertions.","repository":"zed-industries/zed","domain":"devtools","topic":"Testing","language":"Rust","updated":"2025-07-01","comments":7,"stars":62119,"raw":"https://awesomereviewers.com/raw/zed-test-through-public-apis.md"},{"slug":"codex-write-comprehensive-test-assertions","title":"Write comprehensive test assertions","description":"Instead of making multiple small assertions that check individual fields or conditions, write single comprehensive assertions that verify the complete expected state. This approach makes tests more maintainable, provides better documentation of expected behavior, and makes test failures more informative.","repository":"openai/codex","domain":"ai-agents","topic":"Testing","language":"Rust","updated":"2025-07-13","comments":5,"stars":31275,"raw":"https://awesomereviewers.com/raw/codex-write-comprehensive-test-assertions.md"},{"slug":"tokio-fast-deterministic-tests","title":"Fast deterministic tests","description":"Avoid using real sleeps or delays in tests as they significantly slow down the test suite and can introduce flakiness. Instead, use simulated time with the `start_paused` parameter for time-dependent tests:","repository":"tokio-rs/tokio","domain":"runtimes","topic":"Testing","language":"Rust","updated":"2024-12-16","comments":5,"stars":28989,"raw":"https://awesomereviewers.com/raw/tokio-fast-deterministic-tests.md"},{"slug":"uv-balance-test-performance-considerations","title":"Balance test performance considerations","description":"When writing tests, consider both thoroughness and execution time. For operations with significant overhead (like Python installations, downloads, or filesystem operations), it's acceptable to consolidate multiple assertions into a single test.","repository":"astral-sh/uv","domain":"devtools","topic":"Testing","language":"Rust","updated":"2025-05-28","comments":4,"stars":60322,"raw":"https://awesomereviewers.com/raw/uv-balance-test-performance-considerations.md"},{"slug":"influxdb-avoid-flaky-test-patterns","title":"Avoid flaky test patterns","description":"Write reliable tests by avoiding common patterns that can lead to flaky behavior. Specifically: 1. Avoid arbitrary timeouts and sleeps in tests. Instead, use proper test infrastructure or wait for specific conditions.","repository":"influxdata/influxdb","domain":"data-systems","topic":"Testing","language":"Rust","updated":"2025-01-17","comments":4,"stars":30268,"raw":"https://awesomereviewers.com/raw/influxdb-avoid-flaky-test-patterns.md"},{"slug":"oh-my-pi-assert-exercised-code-path","title":"Assert exercised code path","description":"When a test's behavior depends on an environment-specific or conditional code path (e.g., a feature that may silently fall back to an alternate implementation), guard the environment check separately from the assertion that the intended path actually ran. Never let a test pass simply because the conditional guard was false or because the fallback occurred —...","repository":"can1357/oh-my-pi","domain":"app-frameworks","topic":"Testing","language":"Rust","updated":"2026-10-21","comments":3,"stars":37317,"raw":"https://awesomereviewers.com/raw/oh-my-pi-assert-exercised-code-path.md"},{"slug":"ruff-assert-exact-expectations","title":"Assert exact expectations","description":"Always assert exact expected values in tests rather than using loose assertions. When testing the presence of elements or count of items, use equality assertions (`assert_eq!`) instead of non-empty checks (`assert!(!items.is_empty())`) or inequality assertions (`assert!(items.len() >= 2)`).","repository":"astral-sh/ruff","domain":"devtools","topic":"Testing","language":"Rust","updated":"2025-07-03","comments":3,"stars":40619,"raw":"https://awesomereviewers.com/raw/ruff-assert-exact-expectations.md"},{"slug":"deno-add-comprehensive-test-coverage","title":"Add comprehensive test coverage","description":"Ensure that all functionality, especially complex or quirky features, has corresponding unit tests. When adding new features or modifying existing code, proactively identify areas that lack test coverage and add appropriate tests.","repository":"denoland/deno","domain":"runtimes","topic":"Testing","language":"Rust","updated":"2025-04-29","comments":3,"stars":103714,"raw":"https://awesomereviewers.com/raw/deno-add-comprehensive-test-coverage.md"},{"slug":"tree-sitter-write-explicit-concrete-tests","title":"Write explicit concrete tests","description":"Tests should be written explicitly with concrete examples and clear assertions rather than being generated programmatically or hidden in utility code. This improves test readability, maintainability, and debugging capabilities.","repository":"tree-sitter/tree-sitter","domain":"runtimes","topic":"Testing","language":"Rust","updated":"2024-02-17","comments":3,"stars":21799,"raw":"https://awesomereviewers.com/raw/tree-sitter-write-explicit-concrete-tests.md"}],"prompt_count":17},{"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":2,"share":7,"commands":["codespell","uses codespell-project/actions-codespell"],"run":"codespell","via":"GitHub Action codespell-project/actions-codespell","triggers":["ci"],"examples":[{"repository":"openai/codex","slug":"openai-codex"},{"repository":"jj-vcs/jj","slug":"jj-vcs-jj"}]},"alternatives":[],"note":null}],"prompts":[{"slug":"axum-comprehensive-documentation-standards","title":"Comprehensive documentation standards","description":"Create clear, well-structured API documentation following proper formatting, correct references, informative examples, and completeness standards. Documentation should be treated as a first-class feature - it's often the first interaction users have with your API.","repository":"tokio-rs/axum","domain":"app-frameworks","topic":"Documentation","language":"Rust","updated":"","comments":16,"stars":22100,"raw":"https://awesomereviewers.com/raw/axum-comprehensive-documentation-standards.md"},{"slug":"servo-comprehensive-api-documentation","title":"comprehensive API documentation","description":"All public items, struct fields, and methods must have comprehensive documentation. When implementing web specifications, include the actual specification text in comments rather than just links, as specifications can change over time.","repository":"servo/servo","domain":"runtimes","topic":"Documentation","language":"Rust","updated":"2025-10-20","comments":11,"stars":32962,"raw":"https://awesomereviewers.com/raw/servo-comprehensive-api-documentation.md"},{"slug":"rust-keep-documentation-purposefully-minimal","title":"Keep documentation purposefully minimal","description":"Documentation should be concise, focused, and maintainable. Follow these principles: 1. Keep examples short and demonstrate one concept at a time 2. Avoid redundant documentation across related items","repository":"rust-lang/rust","domain":"runtimes","topic":"Documentation","language":"Rust","updated":"2025-07-23","comments":9,"stars":105254,"raw":"https://awesomereviewers.com/raw/rust-keep-documentation-purposefully-minimal.md"},{"slug":"uv-clear-precise-documentation","title":"Clear precise documentation","description":"Documentation should use direct, precise language that accurately describes components and their behavior. Maintain consistent grammatical structure throughout related documentation sections for improved readability.","repository":"astral-sh/uv","domain":"devtools","topic":"Documentation","language":"Rust","updated":"2025-06-02","comments":8,"stars":60322,"raw":"https://awesomereviewers.com/raw/uv-clear-precise-documentation.md"},{"slug":"alacritty-explain-code-intent","title":"Explain code intent","description":"Comments and documentation should explain WHY code exists and what purpose it serves, not just describe what the code does. Focus on the reasoning, motivation, and intent behind implementation decisions.","repository":"alacritty/alacritty","domain":"devtools","topic":"Documentation","language":"Rust","updated":"2025-01-10","comments":8,"stars":59675,"raw":"https://awesomereviewers.com/raw/alacritty-explain-code-intent.md"},{"slug":"jj-prioritize-documentation-clarity","title":"prioritize documentation clarity","description":"Write documentation that prioritizes user understanding over technical precision. Avoid unclear phrases, overly technical explanations, and unhelpful references. When in doubt, choose clarity over brevity, especially for user-facing documentation that may be someone's first encounter with a feature.","repository":"jj-vcs/jj","domain":"devtools","topic":"Documentation","language":"Rust","updated":"2025-10-14","comments":7,"stars":21171,"raw":"https://awesomereviewers.com/raw/jj-prioritize-documentation-clarity.md"},{"slug":"warp-purpose-driven-documentation","title":"Purpose-Driven Documentation","description":"When adding or modifying code, ensure comments/doc comments are written to explain meaning and rationale—not just what the code does or where it’s mutated.","repository":"warpdotdev/warp","domain":"devtools","topic":"Documentation","language":"Rust","updated":"2026-05-08","comments":6,"stars":56893,"raw":"https://awesomereviewers.com/raw/warp-purpose-driven-documentation.md"},{"slug":"tree-sitter-ensure-documentation-clarity","title":"Ensure documentation clarity","description":"Documentation should be clear, accurate, and provide meaningful information to users. Avoid misleading descriptions, template text that doesn't add value, and unclear explanations that leave users confused about functionality.","repository":"tree-sitter/tree-sitter","domain":"runtimes","topic":"Documentation","language":"Rust","updated":"2025-08-02","comments":5,"stars":21799,"raw":"https://awesomereviewers.com/raw/tree-sitter-ensure-documentation-clarity.md"},{"slug":"codex-document-non-obvious-aspects","title":"Document non-obvious aspects","description":"Documentation should explain what isn't obvious from the code itself. Focus on providing context about \"why\" certain decisions were made rather than restating what the code does.","repository":"openai/codex","domain":"ai-agents","topic":"Documentation","language":"Rust","updated":"2025-07-20","comments":5,"stars":31275,"raw":"https://awesomereviewers.com/raw/codex-document-non-obvious-aspects.md"},{"slug":"ruff-document-component-behavior-comprehensively","title":"Document component behavior comprehensively","description":"Documentation should clearly explain the purpose, behavior, and relationships between code components using accessible terminology. This helps other developers understand the code without needing to dig into implementations.","repository":"astral-sh/ruff","domain":"devtools","topic":"Documentation","language":"Rust","updated":"2025-07-03","comments":5,"stars":40619,"raw":"https://awesomereviewers.com/raw/ruff-document-component-behavior-comprehensively.md"},{"slug":"neon-comprehensive-code-documentation","title":"Comprehensive code documentation","description":"Properly document code with clear, accurate, and useful comments using the correct syntax based on context: 1. Use `///` to document items (structs, functions, etc.) that follow the comment:","repository":"neondatabase/neon","domain":"data-systems","topic":"Documentation","language":"Rust","updated":"2025-06-10","comments":5,"stars":19015,"raw":"https://awesomereviewers.com/raw/neon-comprehensive-code-documentation.md"},{"slug":"tokio-structure-api-doc-blocks","title":"Structure API doc blocks","description":"Each public API documentation block should follow a consistent structure: 1. Start with a single-line summary that concisely describes the item 2. Add an empty line after the summary","repository":"tokio-rs/tokio","domain":"runtimes","topic":"Documentation","language":"Rust","updated":"2025-01-28","comments":5,"stars":28989,"raw":"https://awesomereviewers.com/raw/tokio-structure-api-doc-blocks.md"}],"prompt_count":16}]}
