Make sure you have completed the Prerequisites before continuing.
Installation
1
Clone the repository
2
Configure environment variables
.env and fill in the required variables:3
Start MergeWatch
- mergewatch — the Express server on port 3000 (handles GitHub webhooks)
- dashboard — the Next.js dashboard on port 3001 (browser UI)
- db — PostgreSQL 16 database
4
Verify the deployment
Check that the server is running:Look for this line in the output:
5
Register your webhook URL
MergeWatch listens for GitHub webhooks at Set the webhook URL in GitHub Settings > Developer settings > GitHub Apps > Your App > Webhook URL.
/webhook on port 3000. Configure your GitHub App’s webhook URL to:Running locally? Use ngrok or Cloudflare Tunnel to expose port 3000 to the internet so GitHub can deliver webhooks.Use the generated
https://...ngrok-free.app/webhook URL as your webhook URL.6
Install the GitHub App on your repositories
- Go to GitHub Settings > Developer settings > GitHub Apps
- Find your MergeWatch app and click Install App
- Choose All repositories or select specific ones
- Click Install
Your first pull request
Open a pull request against any installed repository. MergeWatch picks it up automatically. What to expect:- The Express server receives the
pull_request.openedwebhook event - The review pipeline fetches the diff and sends it to your LLM provider
- A review comment appears on the pull request within 15—50 seconds (typical range; larger diffs and cold starts take longer)
- A summary of the changes
- File-by-file findings posted as inline review comments on changed lines
- A 1–5 merge readiness score indicating how safe the PR is to merge
Next steps
LLM Providers
Switch from Anthropic to LiteLLM, Bedrock, or Ollama.
Platform Guides
Deploy to Google Cloud Run, AWS ECS, Azure, Fly.io, Railway, or bare metal.
Configure review behavior
Tune sensitivity, ignored paths, and review focus areas.
Upgrading
Keep MergeWatch up to date with the latest features and fixes.