| name | review |
| description | Guidelines for reviewing code changes, features, and pull requests. |
Reviewing Features and Pull Requests
Guidelines for reviewing code changes, features, and pull requests.
Review Mindset
- Be thorough but constructive
- Focus on correctness, security, and maintainability
- Consider the user experience impact
- Look for both what's present and what's missing
Review Checklist
1. Understand the Context
2. Code Quality
3. Functionality
4. Security
Review for common vulnerabilities:
For the API:
5. Performance
6. User Experience
7. API Integration
8. Testing Considerations
Common Issues to Flag
Blockers (Must Fix)
- Security vulnerabilities
- Data loss or corruption risks
- Breaking changes without migration
- Missing error handling that crashes the app
- Authentication/authorization bypasses
Should Fix
- Inconsistent code style
- Missing TypeScript types
- Poor variable/function names
- Duplicated code that should be shared
- Missing loading/error states
Nice to Have
- Minor performance optimizations
- Additional edge case handling
- Code comments for complex logic
- Refactoring suggestions
Giving Feedback
Be Specific
// Vague
"This could be better"
// Specific
"Consider using a signal here instead of `useState` since this
value is updated frequently in the drag handler"
Explain the Why
// Just what
"Add error handling here"
// With why
"Add error handling here - if the API call fails, the user
currently sees a blank screen with no way to retry"
Suggest Solutions
// Problem only
"This will cause unnecessary re-renders"
// With solution
"This will cause unnecessary re-renders. Consider memoizing
the callback with useCallback or moving the handler definition
outside the render"
Use Appropriate Severity
- Blocking: "This must be fixed before merge because..."
- Suggestion: "Consider doing X instead..."
- Question: "I'm curious why you chose X over Y here?"
- Nitpick: "Nit: minor style preference..."
Review Process
- First pass: Skim for overall approach and architecture
- Second pass: Detailed line-by-line review
- Third pass: Test the feature manually if possible
- Final check: Ensure all comments are addressed before approving
When to Approve
Approve when:
- All blocking issues are resolved
- The code works as intended
- You're confident it won't introduce regressions
- Remaining comments are truly optional
Request changes when:
- There are security concerns
- Core functionality is broken
- The approach needs fundamental rethinking