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.