Code Reviews
This document outlines our comprehensive code review process at Formbricks. We maintain high quality, consistency, and best practices within our codebase through this structured approach.
Initial Checks via GitHub Workflows
When a Pull Request (PR) is opened, our automated GitHub workflows perform several critical checks:
Note: At Formbricks, all feature changes must be submitted through Pull Requests - direct pushes to protected branches are not allowed.
- PR Title Validation: Ensures clear, descriptive titles following our conventions
- Build Verification: Confirms that the build process completes successfully
- Test Suite: Runs all automated tests to catch potential regressions
- Translation Check: Identifies any missing translation keys
- Linting: Enforces our coding standards and style guidelines
These checks must pass before proceeding to manual review.
Reviewer Assignment
Once all automated checks pass successfully:
- A team member with relevant expertise is assigned as the reviewer
- The reviewer is notified automatically through GitHub
- Priority is given based on PR urgency and complexity
Functional Testing and UI Review
The assigned reviewer performs thorough testing:
Functionality Testing
- Verifies that new features work as specified
- Tests edge cases and error scenarios
- Ensures proper error handling
- Checks integration with existing features
UI Review (if applicable)
- Validates visual consistency
- Checks responsive behavior
- Ensures accessibility standards
- Reviews user interaction flows
Feedback Process
If improvements are needed:
- Reviewers add inline comments on GitHub
- Feedback is specific and actionable
- Code suggestions are provided when helpful
- Comments follow our constructive feedback guidelines
In-depth Code Review
Our code review process utilizes both human expertise and AI assistance:
Manual Review
- Code structure and organization
- Design patterns and best practices
- Performance considerations
- Security implications
- Documentation completeness
AI-Assisted Review
We leverage advanced AI tools for additional insights:
- Code Rabbit: Automated code analysis and suggestions
- Sonarqube: Code quality metrics and potential issues
Resolution and Merge
Final steps before merging:
- All review comments must be addressed
- Required changes are implemented
- At least one reviewer approval is required
- All conversations must be resolved
- CI/CD pipeline passes again
- PR is merged into the target branch
Best Practices
- Keep PRs focused and reasonably sized
- Respond to review comments promptly
- Use the “Request Changes” feature when necessary
- Mark conversations as resolved when addressed
- Use approve/request changes workflow appropriately
Conclusion
Our code review process combines automated checks, manual review, and AI assistance to ensure high-quality code contributions. This multi-layered approach helps maintain code quality while promoting knowledge sharing within the team.
Remember: Code reviews are not just about finding issues—they’re opportunities for learning and improving our codebase together.
Was this page helpful?