All exported JS/TS functions, classes, and public members must include JSDoc with a summary and @param/@returns; include @throws when applicable.
style-conventionsreadability-refactor+2
High
Keep 'use client' at the leaf: default to Server Components
Prefer Server Components for pages/layouts and move interactivity to small leaf Client Components. Only add 'use client' where browser APIs or event handlers are strictly necessary.
stack-nextjsstack-react+2
High
Keep Lambdas Concise
Ensure that lambda expressions remain short and simple. If a lambda grows too complex, refactor it into a titled method.
readability-refactor
High
Limit Lengthy LINQ Chains
Verify that LINQ queries are not excessively long. Break complex queries into smaller, more understandable expressions.
duplication-complexityreadability-refactor
High
Prefer `for` Elements Over `Map.fromIterable`
Use `for` elements inside map literals instead of `Map.fromIterable` to improve readability and allow better compiler optimizations.
performance-efficiencyreadability-refactor+1
High
Prefer `is!` Over `!is` for Type Checks
Use `is!` instead of `!is` for type checking to prevent confusion and ensure consistent behavior.
readability-refactorstack-flutter+1
High
Prefer Guard Clauses Over Nested Conditionals
Detect deeply nested conditionals and suggest using guard clauses (`return unless condition`) instead to improve readability.
duplication-complexityreadability-refactor
High
React children should not be passed as props
Check if React children are passed as regular props instead of being nested inside components. Passing them incorrectly can cause conflicts and reduce clarity.
readability-refactorstack-react+1
High
Remove Unused Function Parameters
Identify function parameters that are declared but never used within the function body. Remove them to improve clarity and maintainability.
maintainabilityreadability-refactor
High
Replace null assertions with explicit null handling
Avoid the !! operator. Prefer safe calls, Elvis (?:), early returns, or explicit exceptions with a clear message.
error-handlingreadability-refactor
High
Right-size the PR or justify size
If the PR is large (many files/lines), split it into logical chunks or provide a clear justification and review guide listing file groups and what to focus on.
pr-hygienereadability-refactor
High
Separate UI logic from business logic
Keep UI/controllers thin; move domain logic to services or domain objects.
module-architecturereadability-refactor
High
Use Awaitable Methods in Async Code
Calling synchronous methods inside async code can block execution and reduce performance. Use awaitable methods to ensure proper async execution.
performance-efficiencyreadability-refactor
High
XML documentation for public APIs
All public types and members must have XML documentation comments with <summary>, <param>, <returns> (if non-void), and <exception> when thrown.
style-conventionsreadability-refactor+1
Low
Avoid Brain Methods (Methods Doing Too Many Tasks)
Ensure that methods perform a single, well-defined task. Large methods should be refactored into smaller, focused methods.
duplication-complexityreadability-refactor
Low
Avoid Excessively Deep Namespaces
Ensure that titlespace structures are not overly deep. Favor a flat, organized structure to enhance readability and navigation.
module-architecturereadability-refactor
Low
Avoid modifying input parameters
Treat function inputs as immutable; copy before mutation (e.g., dict.copy(), list(x)).
maintainabilityreadability-refactor+1
Low
Avoid Monster Classes (Excessive Dependencies)
Ensure that large classes with multiple responsibilities are refactored into smaller, more manageable classes.
module-architecturereadability-refactor
Low
Avoid Overuse of Lambda Functions
Identify lambda functions that are too complex. Lambdas should be simple and concise. If a lambda contains multiple expressions, recommend converting it to a titled function for better readability.
readability-refactorstack-python+1
Low
Avoid Pointers to Interface Types
Never use a pointer to an interface type. Pass interfaces as values, since an interface already provides reference semantics to the underlying data.
performance-efficiencyreadability-refactor+1
Low
Avoid Pointers to Slices (and Maps)
Do not use pointers to slice or map types. Slices and maps are already reference types that point to underlying data, so they can be passed by value and still allow modifications to the contents.
performance-efficiencyreadability-refactor+1
Low
AVOID redundancy with the surrounding context
Check if the method, variable, or class title contains redundant context (e.g., using 'carDrive()' when 'drive()' would suffice). Ensure the title is concise and avoids repetition of surrounding context.
duplication-complexityreadability-refactor+2
Low
Avoid Semicolons
Check if semicolons are used at the end of statements in Python code. Semicolons are unnecessary and may cause readability issues or errors when multiple statements are placed on one line. Recommend using new lines instead.
readability-refactorstack-python+1
Low
Avoid Unnecessary Defensive Programming
Identify overly defensive code that checks for unrealistic conditions, such as excessive `nil?` checks or redundant type verifications.