mirror of
https://github.com/formbricks/formbricks.git
synced 2026-01-04 09:29:42 -06:00
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> Co-authored-by: Johannes <johannes@formbricks.com> Co-authored-by: Matti Nannt <mail@matthiasnannt.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
101 lines
3.2 KiB
Plaintext
101 lines
3.2 KiB
Plaintext
---
|
|
title: Code Reviews
|
|
description: 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.
|
|
icon: eyes
|
|
---
|
|
|
|
|
|
|
|
## 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.
|