Visual review for UI changes in pull requests and commits. PRVision finds every React or Angular component a change touches, renders it in isolation for base and head with AI-written harnesses, and shows before/after screenshots, pixel diffs, code diffs and a plain-language summary. Runs locally on your own clone.
TypeScript
2
15 commits
updated Oct 6, 2026
See what a pull request does to your UI.
Every component a change touches, rendered before and after, side by side, with a pixel diff and a note on what to check.
Quick start · Features · How it works · FAQ
A code diff shows which lines changed. It does not show that the checkout button doubled in width, that a card three screens away went blank after a hook change, or that a "small refactor" moved every form field down 8 pixels.
PRVision answers the question a reviewer actually has: what does this change look like?
![]() | ![]() |
| Pixel diff, slider and side by side Every changed component with its base and head at 100% or fit, a draggable slider and a diff overlay. | An AI summary of the whole change What changed, what users will notice, and what deserves a second look. |
EventForm is swapped for EventFormModal, you get one before/after card, not a "removed" and an "added" to match up yourself.| Framework | Status | Notes |
|---|---|---|
| React on Vite | ✅ | Tailwind, CSS modules, plain CSS and SCSS |
| Angular 17–21 | ✅ | Application builder, apps inside monorepos |
| Next.js | Planned |
git clone https://github.com/Andrew2142/PRVision.git
cd PRVision
docker compose up
When the app is ready, the terminal prints PRVision is ready: http://localhost:4210. Open that link. Ctrl+C stops it.
To update later, run git pull and then docker compose up again. The images rebuild automatically.
Prefer to run it without Docker? npm run setup && npm run dev (Node 22.12+, git, Docker for Postgres and Redis). See the setup reference.
flowchart LR
A[Pull request<br/>branch or commit] --> B[Prepare<br/>base + head worktrees]
B --> C[Analyze<br/>changed components]
C --> D[AI writes<br/>one harness each]
D --> E[Render base and head<br/>your build, headless Chromium]
E --> F[Pixel + structural diff]
F --> G[AI summary]
AI writes the harness. Real code renders the pixels.
127.0.0.1 only. There is no account and no cloud.refs/prvision/* refs. It never writes to your working copy and never comments on your pull requests.PRVision uses your own Anthropic API key, set in Settings. Usage is billed to the account that owns the key. The four-component run in the screenshots used 88K input and 6.2K output tokens.
No. Each changed component is mounted on its own in headless Chromium through your repository's build. Your app's server, database and APIs are never started; the harness mocks what the component needs.
No. It creates its own worktrees under ~/.prvision and its own refs/prvision/* refs, and cleans the worktrees up after each run.
Yes with npm run setup && npm run dev. The Docker setup currently works on Linux hosts: it reuses each repository's node_modules, and on macOS those contain macOS-only native binaries.
The AI never draws anything: it only writes the harness, and your real code renders the pixels. The notes and summary can still be wrong or miss something, so check important results against the screenshots and the code.
00-overview-and-contracts.mdPRVision is alpha software. Expect rough edges, and please open an issue when something breaks.
Visual review for UI changes in pull requests and commits. PRVision finds every React or Angular component a change touches, renders it in isolation for base and head with AI-written harnesses, and shows before/after screenshots, pixel diffs, code diffs and a plain-language summary. Runs locally on your own clone.
TypeScript
2
15 commits
updated Oct 6, 2026
See what a pull request does to your UI.
Every component a change touches, rendered before and after, side by side, with a pixel diff and a note on what to check.
Quick start · Features · How it works · FAQ
A code diff shows which lines changed. It does not show that the checkout button doubled in width, that a card three screens away went blank after a hook change, or that a "small refactor" moved every form field down 8 pixels.
PRVision answers the question a reviewer actually has: what does this change look like?
![]() | ![]() |
| Pixel diff, slider and side by side Every changed component with its base and head at 100% or fit, a draggable slider and a diff overlay. | An AI summary of the whole change What changed, what users will notice, and what deserves a second look. |
EventForm is swapped for EventFormModal, you get one before/after card, not a "removed" and an "added" to match up yourself.| Framework | Status | Notes |
|---|---|---|
| React on Vite | ✅ | Tailwind, CSS modules, plain CSS and SCSS |
| Angular 17–21 | ✅ | Application builder, apps inside monorepos |
| Next.js | Planned |
git clone https://github.com/Andrew2142/PRVision.git
cd PRVision
docker compose up
When the app is ready, the terminal prints PRVision is ready: http://localhost:4210. Open that link. Ctrl+C stops it.
To update later, run git pull and then docker compose up again. The images rebuild automatically.
Prefer to run it without Docker? npm run setup && npm run dev (Node 22.12+, git, Docker for Postgres and Redis). See the setup reference.
flowchart LR
A[Pull request<br/>branch or commit] --> B[Prepare<br/>base + head worktrees]
B --> C[Analyze<br/>changed components]
C --> D[AI writes<br/>one harness each]
D --> E[Render base and head<br/>your build, headless Chromium]
E --> F[Pixel + structural diff]
F --> G[AI summary]
AI writes the harness. Real code renders the pixels.
127.0.0.1 only. There is no account and no cloud.refs/prvision/* refs. It never writes to your working copy and never comments on your pull requests.PRVision uses your own Anthropic API key, set in Settings. Usage is billed to the account that owns the key. The four-component run in the screenshots used 88K input and 6.2K output tokens.
No. Each changed component is mounted on its own in headless Chromium through your repository's build. Your app's server, database and APIs are never started; the harness mocks what the component needs.
No. It creates its own worktrees under ~/.prvision and its own refs/prvision/* refs, and cleans the worktrees up after each run.
Yes with npm run setup && npm run dev. The Docker setup currently works on Linux hosts: it reuses each repository's node_modules, and on macOS those contain macOS-only native binaries.
The AI never draws anything: it only writes the harness, and your real code renders the pixels. The notes and summary can still be wrong or miss something, so check important results against the screenshots and the code.
00-overview-and-contracts.mdPRVision is alpha software. Expect rough edges, and please open an issue when something breaks.