> Meticulous records real user sessions from a web app and replays them against each commit to catch visual regressions.
>
> Full AI-readable docs index (complete project setup journey + every page as markdown): https://app.meticulous.ai/llms.txt

# Require approving diffs before merging a PR

### GitHub

If you've installed the [Meticulous GitHub App](https://github.com/apps/alwaysmeticulous) Meticulous will add a check on your PR that is red
if there are diffs that haven't been approved yet and becomes green once you click the green 'Approve all Visual Differences' button.
This button can be found by clicking on the link in the Meticulous comment.

If you wish you can make this check blocking, so developers will be unable to merge a PR which has visual differences until they have clicked the button to acknowledge the differences.

To do so click on the *'Settings'* tab of your repo, and then select the *'Branches'* tab:

![Meticulous comment](https://assets.meticulous.ai/docs/github-actions-branch-protection-rules.png)

Select your main or master branch, tick the box to *'Require status checks to pass before merging'*, and add *'Meticulous Tests'* to the list of status checks that are required:

![Meticulous comment](https://assets.meticulous.ai/docs/github-actions-branch-protection-rules-main-branch.png)

> **warning**
> **Multiple projects for the same repository:** If you have more than one Meticulous project connected to the same GitHub repository (e.g. for testing different app variants or environments), the check name will include the project name — for example, *'Meticulous Tests (my-project)'*. Make sure to add the correct check name(s) to your required status checks. If you later add a second project to a repo that previously only had one, the check name will change and you'll need to update your branch protection rules accordingly.
### GitLab

Requiring diffs to be approved before merging is not yet supported on GitLab.
