Pull request reviews
A persona looks at the pages each pull request changes, and Tespr posts what they found on GitHub.
- Step 1Open a pull requestOn a repo that has a persona.
- Step 2A persona tries itThey use the pages it changes.
- Step 3Tespr commentsWith fixes. Code stays as is.
Works with Next.js (App Router) sites that get a preview for each pull request. Needs an invited Tespr account. No invite yet? Join the waitlist.
What you get on each pull request
- A screenshot with the problems marked. Each page the change shows on (up to 3), as the persona saw it, with a numbered pin on every area they'd change.
- What to change. The fixes under the same numbers, worded so they can be built.
- Who looked and what they did. The persona's profile, their first impression and their steps, with a link to the full report in Tespr.
- One comment and one check. The comment is edited in place on every push, so a pull request never fills up with repeats. The Tespr check shows the persona's score at a glance.
Set it up
- 1
Connect GitHub
In Tespr, open Pull requests and press Connect GitHub. Sign in to GitHub, pick the account, and choose the repos Tespr may read. You need to be an admin of a repo to connect it; the page lists only those.
- 2
Pick a persona for each repo
Each repo is reviewed by one of the personas already in your account, exactly as you wrote it. Nothing is reviewed until a repo has a persona, so connecting GitHub doesn't start anything by itself.
- 3
Add a preview pass, if your previews are locked
Public previews need nothing. If opening a preview asks for a login, see Locked previews. Not sure? Skip it: the first review will say if a pass is needed.
- 4
Open a pull request
The Tespr check appears within a minute. The review follows once the preview has built, usually a few minutes later, and shows up on the Pull requests page too.
What your repo needs
- Next.js App Router (an
app/folder) - Why
- How Tespr finds the pages that changed
- Without it
- Nothing is reviewed
- A preview for each pull request
- Why
- The persona looks at the real page, not the code
- Without it
- Nothing is reviewed
- Pages that open without signing in
- Why
- Tespr can't sign in to your product
- Without it
- Those pages are skipped
| You need | Why | Without it |
|---|---|---|
Next.js App Router (an app/ folder) | How Tespr finds the pages that changed | Nothing is reviewed |
| A preview for each pull request | The persona looks at the real page, not the code | Nothing is reviewed |
| Pages that open without signing in | Tespr can't sign in to your product | Those pages are skipped |
Previews from Vercel, Netlify and others all work. Drafts, pull requests from forks, and pull requests that change no page, component or stylesheet are skipped.
What it costs
- Each page a persona reviews
- How much
- 1 report, the same as a test in the app
- A free account
- How much
- 5 reports in total
- Pages reviewed per pull request
- How much
- Up to 3
- Persona reviews
- How much
- Up to 10 a day per account
| What | How much |
|---|---|
| Each page a persona reviews | 1 report, the same as a test in the app |
| A free account | 5 reports in total |
| Pages reviewed per pull request | Up to 3 |
| Persona reviews | Up to 10 a day per account |
When your reports run out, reviews stop and the pull request's comment says so. The Pull requests page shows how many you have left.
Locked previews
Public previews need nothing. If your Vercel previews ask for a login, give Tespr a pass in two steps:
- In Vercel, open your project › Settings › Deployment Protection › Protection Bypass for Automation. Create a secret if there isn't one, and copy it.
- In Tespr, open Pull requests, press Add pass on the repo, and paste it.
Is the pass safe to give Tespr?
- It opens that project's previews, the way a visitor would see them. It gives no access to your code, your Vercel account or its settings.
- Tespr stores it encrypted and never shows it again.
- It's sent only to that repo's own preview on
vercel.app, and only when Vercel itself reported the preview. A preview address someone else recorded on the repo never gets it. - Remove it in Tespr, or make a new one in Vercel, at any time.
Passes work for Vercel previews on vercel.app only. Previews on another host, or on your own domain, have to be public for now.
Settings in your repo
Optional. Add a .tespr.yml at the repo's root to choose which pages are reviewed. It's read from the branch the pull request targets.
pages:
# Leave these out (and everything under them).
exclude:
- /dashboard
- /admin
# Or review only these.
# include:
# - /pricingWhat Tespr can access
- Contents: read
- Used for
- Working out which pages changed, and reading
.tespr.yml
- Pull requests: read and write
- Used for
- Reading the pull request and posting the comment
- Checks: write
- Used for
- The Tespr check on the commit
- Deployments: read
- Used for
- Finding the preview built for the commit
| Permission on GitHub | Used for |
|---|---|
| Contents: read | Working out which pages changed, and reading .tespr.yml |
| Pull requests: read and write | Reading the pull request and posting the comment |
| Checks: write | The Tespr check on the commit |
| Deployments: read | Finding the preview built for the commit |
Which repos Tespr can reach
Only the repos you chose, and each review can reach only its own repo. It can't push code, merge, or change settings.
Who can connect a repo
Only an admin of the repo. If that person stops being an admin, reviews on the repo switch off and its saved pass is deleted.
What's sent to other services
To write a review, the changed files and screenshots of the changed pages go to Anthropic's Claude. Previews are opened through Firecrawl, which receives the preview pass with the request when one is saved.
Where screenshots and reports are kept
In your Tespr account. The picture in the comment is served by Tespr from an address that can't be guessed.
Turn it off
- One repo
- Do this
- Switch off Review pull requests on its row
- What's kept
- Its settings
- A whole GitHub account
- Do this
- Open the account's ⋯ menu and press Disconnect
- What's kept
- Past reviews and reports
- Tespr on GitHub
- Do this
- Uninstall it in your GitHub settings, under Applications
- What's kept
- Past reviews and reports
| To stop | Do this | What's kept |
|---|---|---|
| One repo | Switch off Review pull requests on its row | Its settings |
| A whole GitHub account | Open the account's ⋯ menu and press Disconnect | Past reviews and reports |
| Tespr on GitHub | Uninstall it in your GitHub settings, under Applications | Past reviews and reports |
If something's missing
Nothing appeared on my pull request
Check the repo has a persona and Review pull requests is on. Drafts, pull requests from forks, and ones that change no page, component or stylesheet get nothing.
The review says the preview is behind a login
Save the repo's preview pass (see Locked previews), then push again.
A page says it was not reviewed
It sent Tespr to a sign-in page, or you had no reports left. Only pages that open without signing in can be reviewed; leave the rest out with pages.exclude.
A repo I added on GitHub isn't listed
Press Refresh repos at the top of the Pull requests page. Tespr lists only repos you're an admin of.
It says “Nothing was connected”
You can see the repo on GitHub but aren't one of its admins. Ask an admin to connect it from their own Tespr account.
It says “Already connected to another Tespr account”
A GitHub account can be connected to one Tespr account at a time. Whoever connected it can disconnect it, or an owner can uninstall Tespr on GitHub and add it again.
It says “Your request went to the organisation's owners”
Your organisation only lets owners add apps. Once one of them approves Tespr on GitHub, press Connect GitHub again.
An account says “Paused on GitHub”
Someone suspended Tespr for that account in GitHub's settings. Nothing is reviewed until it's unsuspended there.
I want to connect a second GitHub account
Press Connect another GitHub account under your repos. GitHub asks which account to add Tespr to.
