TEMPLATE Built on OpenComputer Serverless Agents
Swipe right
to merge.
PR Swipe turns your pull request queue into a dating app. An agent reviews every open PR before you show up: it clones the repo, reads the change in context, checks CI and runs the tests it can. You get a verdict, the red flags, and a swipe.
♥right to merge ✕left to close 💬comment ↺not now
Live demo with sample PRs. Drag the card. Nothing touches GitHub.
How it works
Reviews are ready before you open the app.
A schedule keeps a fresh review for every open pull request, keyed to its head commit. Push again and it reviews again. Open the app and swipe.
01
Connect GitHub
Install OpenComputer's GitHub App and pick the repos. That selection is everything the agent can reach.
02
The agent reviews
Every 15 minutes it finds new PRs and new commits and reviews each one in its own sandbox: diff, full files, callers, CI logs, tests. Every finding is verified before it is reported.
03
You swipe
Right merges, left closes, the comment button posts to the PR. Every swipe waits five seconds so you can undo, and branch protection still applies.
Why OpenComputer
The whole backend is one agent file.
PR Swipe is an OpenComputer template. The web app is a thin page and a small proxy; OpenComputer runs everything else.
🧠
Managed agent loop
agent.ts returns instructions per mode. OpenComputer calls the model, runs tools and loops until the review is done.
🖥️
A computer per review
Each review gets an isolated Linux sandbox with git and gh to clone, grep and run tests.
🔑
GitHub App connection
githubApp() mints a short-lived installation token for every command. No GitHub token in your code.
📼
Durable sessions
Every list, review and swipe is a session with an event log and a typed result. That is the app's whole database.
⏰
Schedules
defineSchedule() runs the review sweep every 15 minutes. Idempotency keys make sure each commit is reviewed once.
🛡️
Secrets at the edge
The sweep's API key is attached at OpenComputer's outbound edge. The agent never sees it.
Without it you would build a job queue, sandboxed runners, GitHub App token minting, a review store, cron, and model and secret handling.
What's in the template
Small enough to read in one sitting.
Fork it, change the review instructions, add your team's conventions, or point the swipe at a different action.
opencomputer/ project.ts agents/pr-swipe/ agent.ts # list · review · act · sweep tools/report.ts # typed session result tools/queue-reviews.ts # sweep starts reviews schedules/sweep.ts # every 15 minutes web/ handler.mjs # proxies the sessions API server.mjs # npm run web public/ # landing + swipe app api/index.js # same handler on Vercel oc-template.toml # one-click deploy manifest
Deploy your own
Five minutes to your first swipe.
The hosted page you are on runs the demo only. Live mode merges and closes real PRs, so it runs on your deployment, with your GitHub App and your password.
- Deploy the template. OpenComputer creates a project from this repo and deploys the agent.
- Connect GitHub in the project's Connections tab, or from the app. Pick the repos to review.
- Set
OC_API_KEYas a project secret so the background sweep can start reviews. - Run the app:
npm run weblocally, or deployweb/to Vercel withOPENCOMPUTER_API_KEY,OPENCOMPUTER_PROJECTandAPP_PASSWORD. - Swipe.