> ## Documentation Index
> Fetch the complete documentation index at: https://formbricks.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 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.
