Comprehensive documentation standards
tokio-rs/axumCreate clear, well-structured API documentation following proper formatting, correct references, informative examples...
Use specific assertion methods
fastify/fastifyChoose the appropriate assertion method based on the data type being tested. This improves test readability and provi...
Type-safe flexible APIs
tokio-rs/axumDesign APIs that favor both type safety and flexibility. Use strongly typed wrappers instead of primitive types, but ...
Axum Code Review: Interaction Patterns
tokio-rs/axumWhen implementing Axum-based applications, it is crucial to ensure that the interaction patterns between components a...
Technical documentation precision
vercel/next.jsEnsure technical documentation is precise, accurate, and correctly formatted to prevent confusion and improve develop...
Secure Data Handling in Next.js Applications
vercel/next.jsWhen building Next.js applications that handle sensitive data, it's crucial to implement robust security measures to ...
Effective Cache Management in Next.js Applications
vercel/next.jsWhen implementing caching in Next.js applications, it is crucial to be intentional about the caching behavior for eac...
Write clear documentation
fastify/fastifyDocumentation should be clear, precise, and self-contained while following established style conventions. When writin...
Handling Dynamic Content in Next.js Components
vercel/next.jsWhen implementing Next.js components that rely on dynamic content (e.g. random values, current time), it is crucial t...
Consistent test code style
fastify/fastifyMaintain consistent and clear testing patterns by following these guidelines: use strict equality assertions, prefer ...
Concurrent operations completion management
fastify/fastifyWhen running concurrent operations in tests, ensure all operations complete before concluding the test. Race conditio...
Prefer simpler code constructs
tokio-rs/axumAlways opt for simpler, more idiomatic code constructs over complex or verbose alternatives. This includes using buil...
Write robust assertions
vercel/next.jsWhen writing tests, ensure assertions can handle non-deterministic content while providing clear failure context: use...
Optimize Next.js Resource Utilization
vercel/next.jsAs a code reviewer, I recommend the following practices to optimize resource utilization when implementing Next.js ap...
Type-safe API designs
fastify/fastifyDesign APIs with strong type safety to improve developer experience and catch errors at compile time. Avoid using any...
Properly Handle Errors in Fastify Applications
fastify/fastifyWhen implementing error handling in Fastify applications, it is important to always throw instances of the Error clas...
Preserve error context
fastify/fastifyWhen handling errors, always ensure the original error context is preserved and properly surfaced. Error information ...
Null safe patterns
fastify/fastifyUse concise null checking patterns to prevent runtime errors and improve code readability when handling potentially u...
Explicit Configuration Usage in Fastify
fastify/fastifyWhen using the Fastify framework in Typescript, ensure that all configuration options are explicitly declared and pro...
Consistent JSDoc standards
fastify/fastifyDocument all public APIs and significant internal functions with comprehensive JSDoc comments that include accurate d...
Adhere to Fastify Coding Conventions
fastify/fastifyWhen implementing code that uses the Fastify package in Typescript, ensure the following conventions are followed: av...
Prefer descriptive over brief
tokio-rs/axumChoose clear, descriptive names over abbreviated or shortened versions. Names should be self-documenting and follow R...
Documentation consistency standards
tokio-rs/axumMaintain consistent documentation formatting standards across all project files, especially in changelogs, code examp...
Consistent axum Usage in Typescript
tokio-rs/axumWhen implementing Typescript code that uses the axum package, maintain consistent and idiomatic usage: always use low...
Type-safe API interfaces design
axios/axiosDesign API interfaces with strong type safety while maintaining excellent developer experience. Prefer explicit types...
Standardize null value checks
axios/axiosAlways use consistent patterns and utility functions for handling null and undefined values. This improves code relia...
Specific test assertions
axios/axiosWhen writing tests, explicitly assert specific conditions and expected values rather than relying on general success/...
Proxy protocol handling
axios/axiosWhen implementing HTTP clients with proxy support, ensure the connection to the proxy uses the protocol specified in ...
Documentation reflects reality
axios/axiosAlways ensure documentation accurately represents the actual code behavior and implementation details. Include import...
Consistent method behaviors
axios/axiosDesign API methods with predictable behavior patterns that follow common conventions. Methods that modify objects dir...
Complete error handling chain
axios/axiosImplement comprehensive error handling throughout the codebase by ensuring all error scenarios are properly caught, t...
Optimize hot paths
facebook/reactIn performance-critical code paths that execute frequently, optimize to reduce unnecessary operations that can impact...
Balance constraints with flexibility
facebook/reactWhen designing APIs, carefully evaluate constraints imposed on consumers. Each limitation should serve a clear purpos...
Verify documentation references
vercel/next.jsWhen writing or updating documentation, ensure all code examples, installation commands, and project references accur...
Proper Use of Suspense in Next.js Components
vercel/next.jsWhen building Next.js applications that leverage server-side rendering (SSR) or Partial Prerendering (PPR), it is ess...
Proper Error Handling in Next.js API Routes
vercel/next.jsThis review focuses on ensuring proper error handling in Next.js API routes. Key principles include validating incomi...
Maintain Consistent Naming Conventions in Next.js Code
vercel/next.jsAs a code reviewer for Next.js projects, ensure that all code artifacts, including component names, file names, and c...
Proper Handling of Promises in Fastify Implementations
fastify/fastifyWhen implementing Fastify applications in TypeScript, it is important to follow consistent patterns for handling prom...
Content negotiation design
fastify/fastifyWhen building APIs, implement proper content negotiation to handle various media types in both requests and responses...
Consistent descriptive naming
fastify/fastifyUse precise, consistent, and descriptive naming conventions throughout your code to enhance readability and maintaina...
Benchmark before choosing methods
fastify/fastifyAlways benchmark different implementation approaches for performance-critical operations before selecting a method. D...
Use Option combinators
tokio-rs/axumInstead of verbose conditional logic, prefer Rust's Option combinators like map, and_then, and filter for handling po...
Structure errors for safety
tokio-rs/axumCreate specific error types with appropriate status codes while ensuring sensitive details are logged but not exposed...
Minimize memory allocation overhead
tokio-rs/axumOptimize performance by minimizing unnecessary memory allocations and using allocation-efficient APIs. Key practices ...
Lock carefully in async
tokio-rs/axumWhen using locks in async code, follow critical guidelines to avoid deadlocks. Never hold std::sync::Mutex locks acro...
Handle protocol headers properly
tokio-rs/axumWhen implementing network services, especially proxies and protocol handlers, proper HTTP header management is critic...
Validate security-critical inputs
axios/axiosAlways validate and sanitize user-supplied inputs before using them in security-sensitive operations. This helps prev...
Robust Axios Usage in Typescript
axios/axiosThis review focuses on ensuring robust and type-safe usage of the Axios library in Typescript codebases. Key recommen...
Proper Error Handling in Axios Typescript Code
axios/axiosAs a code reviewer, it is important to ensure that Axios-based Typescript code properly handles and propagates errors...
Extract for better readability
axios/axiosComplex expressions and repeated code should be extracted into well-named variables to improve readability and mainta...
Verify performance empirically
facebook/reactAlways validate performance optimizations through measurement rather than assumptions. Run multiple iterations of per...
Use appropriate testing methods
facebook/reactWhen writing tests, use the appropriate testing utilities and ensure proper test isolation. For testing warning behav...
Separate conditional paths
facebook/reactWhen working with concurrent operations, separate conditional logic from potentially expensive or suspenseful executi...
Optimize React Component Dependencies
facebook/reactWhen implementing React components, ensure that dependencies between component state, props, and side effects are acc...
Match errors to context
facebook/reactChoose error handling mechanisms based on the error's severity and context. For critical issues that should prevent f...
Complete hook dependencies
facebook/reactAlways specify complete dependency arrays in React hooks to prevent bugs from stale closures and avoid unnecessary re...
Check property existence first
facebook/reactAlways verify that an object and its properties exist before accessing them to prevent 'cannot read property of undef...
Write concise idiomatic code
vercel/next.jsFavor concise and idiomatic expressions in your Rust code to improve readability and maintainability.
Verify workflow configuration integrity
vercel/next.jsCarefully review GitHub Actions workflow configurations to prevent subtle errors that can cause CI/CD pipeline failur...
Prefer Existence Checks in Next.js Components
vercel/next.jsWhen working with props, state, or other values in Next.js components that may be null, undefined, or contain error s...
Optimize data structure selection
vercel/next.jsChoose data structures that match your specific access patterns and performance requirements. The right data structur...
Consistent variable style patterns
vercel/next.jsMaintain consistent patterns for variable declarations and naming conventions: use const by default for variable decl...
Consistent Fastify Integration Patterns
fastify/fastifyWhen implementing integrations and plugins using the Fastify framework, maintain consistent coding patterns and conve...
Document feature flags
tokio-rs/axumWhen configuring feature flags in Cargo.toml, ensure they are properly structured and documented. Chain feature depen...
Proper Axios Configuration and Usage
axios/axiosWhen implementing code that uses the Axios library in TypeScript, it is important to follow best practices for config...
Consistent Naming Conventions for Axios Requests and Responses
axios/axiosWhen using the Axios library in Typescript, it is important to follow consistent naming conventions to improve code r...
Configuration property standards
axios/axiosAlways define configuration properties with sensible defaults and consistent naming conventions. When adding new conf...
Write readable conditionals
facebook/reactStructure conditionals for maximum clarity and comprehension. Avoid unnecessary negation in boolean expressions, use ...
Standardize URL handling
facebook/reactWhen working with URLs in networking code, always use the standard `URL` constructor to properly resolve relative URL...
Proper Usage of React Hooks
facebook/reactWhen using the React library in Typescript, ensure that you are correctly implementing the recommended React hooks ba...
Proper Scoping and Usage of React Variables
facebook/reactWhen implementing React components, it is important to ensure that variables are properly scoped and used throughout ...
Multi-stack config settings
facebook/reactWhen creating configuration files for development environments that use multiple technology stacks, ensure settings a...
Explicit CSP nonce management
facebook/reactWhen implementing Content Security Policy (CSP) protections, always explicitly pass nonce values to components rather...
Dry configuration patterns
facebook/reactApply DRY (Don't Repeat Yourself) principles to all configuration files to improve maintainability. Extract shared co...
Document code intent
facebook/reactAdd clear comments that explain the intent and behavior of code that might not be immediately obvious to other develo...
Defensive Handling of Nullable React Components
facebook/reactWhen working with React components that may return null or undefined values, implement defensive coding patterns to p...
Validate Next.js Configuration Usage
vercel/next.jsWhen implementing Next.js in your application, ensure that you are correctly using the framework's documented configu...
Robust Error Handling in Next.js Components
vercel/next.jsWhen building Next.js components, it is crucial to implement robust error handling to ensure the stability and predic...
Proper panic chains
vercel/next.jsWhen implementing panic handlers, follow these critical practices to ensure robust error handling: register panic han...
Non-blocking observability mechanisms
vercel/next.jsWhen implementing observability mechanisms like telemetry or status monitoring, ensure they don't block or interfere ...
Document configuration sources
vercel/next.jsWhen providing configuration instructions, document the exact location and method to obtain required values. Include ...
Dependency conscious APIs
vercel/next.jsDesign APIs with dependency implications in mind. Carefully consider how your API design choices might force dependen...
Complete error handling flows
vercel/next.jsImplement robust error handling patterns that ensure both proper resource cleanup and error context preservation.
Complete data structures
vercel/next.jsWhen implementing data structures such as tries, trees, or graphs, ensure all critical operations (insertion, deletio...
Choose optimal data structures
vercel/next.jsSelect data structures based on their performance characteristics and actual usage patterns. When implementing algori...
Verify types in tests
fastify/fastifyUse explicit type assertions in TypeScript tests to verify that types behave as expected across various scenarios. In...
Use bot identity
fastify/fastifyWhen configuring Git operations in GitHub Actions workflows, especially for automated commits, use the GitHub Actions...
Support flexible logging
fastify/fastifyWhen designing logging interfaces, create flexible APIs that accommodate both standard and custom logging needs. This...
Secure Fastify Code Implementation
fastify/fastifyThis review focuses on secure implementation patterns when using the Fastify web framework in Typescript: prevent Pro...
Proper IPv6 address formatting
fastify/fastifyWhen constructing URLs with IP addresses, ensure IPv6 addresses are properly formatted according to RFC standards by ...
Ensure Proper Null Handling When Using Fastify Decorators
fastify/fastifyWhen working with Fastify decorators, always perform explicit null checks before accessing potentially undefined prop...
Consistent Fastify Package Naming and References
fastify/fastifyWhen implementing code using the Fastify package in Typescript, it is important to use consistent and accurate naming...
Use Appropriate Concurrency Patterns with Axum
tokio-rs/axumWhen building asynchronous Axum applications that share mutable state, it's important to select the right concurrency...
Implement Distributed Tracing in Axum Applications
tokio-rs/axumAs an Axum code reviewer, I recommend implementing proper distributed tracing in your Axum-based web applications to ...
User-friendly error messages
axios/axiosError messages should be concise and clearly communicate what went wrong without unnecessary verbosity. When implemen...
Flexible configuration design
axios/axiosDesign configuration interfaces to be flexible and extensible rather than overly specific. When creating configuratio...
Consistent semicolon usage
axios/axiosAlways terminate statements with explicit semicolons to maintain consistency with the existing codebase style. Avoid ...
Consistent Axios Usage Patterns
axios/axiosMaintain consistent usage of the Axios library throughout your Typescript codebase. Pay special attention to consiste...
Document security attributes
vercel/next.jsWhen handling security-related attributes (like nonces, integrity hashes, or CSP directives), always document the log...
Decode before validation
vercel/next.jsAlways decode URL paths before performing security validations to prevent bypass attacks using URL encoding. Security...
Secure Content-Type validation
fastify/fastifyWhen implementing Content-Type validation, ensure regular expressions start with '^' or include ';?' to properly dete...
Secure cookie configuration
tokio-rs/axumAlways set appropriate security flags on cookies, especially those used for authentication or session management. At ...