Skip to content
igorkasyanchukPublic

About

Your coding agent explains its pull request; your team reads the notes, screenshots and live demos inside the diff on GitHub, GitLab and Bitbucket. Self-hosted, MIT.

Topics

Resources

Security policy

Stars

4 stars

Watchers

0 watching

Forks

Latest commit

 

History

67 Commits

Folders and files

Repository files navigation

diffnotes

Your coding agent explains the pull request. Your team reads it in the diff.
Free · hosted at diffnotes.dev or self-hosted · open source (MIT) · GitHub, GitLab, Bitbucket

Chrome Web Store Docker image MIT license Reviewed with DiffNotes

diffnotes.dev · live demo · quick start · self-host · docs

DiffNotes on a GitHub pull request: summary box, deploy steps, before/after screenshots, a live demo and line notes inside the diff

TL;DR

  • Your agent (Claude Code, Codex, Cursor…) annotates a PR: a plain-language “why” for each changed block, plus screenshots, short screen recordings, Markdown reports, CSVs and small interactive HTML demos. Through the skill or the MCP endpoint.
  • The notes go to a DiffNotes server, never to GitHub, GitLab or Bitbucket: no bot comments, no notification noise. Use the free one at diffnotes.dev, or run your own and code context never leaves your infrastructure.
  • Reviewers with the browser extension (Chrome, Edge, Brave, Arc) see them inside the diff on GitHub, GitLab or Bitbucket: a summary box on top, notes on the changed lines, image galleries, file previews, what changed since their last visit, one switch to hide everything.
  • Notes expire on their own (after a year by default). Files on disk or in any S3-compatible bucket (Backblaze B2, R2, S3, MinIO).
  • Up and running in a few minutes: a GitHub sign-in, one command for your agent, one extension (or one container of your own).

agent → diffnotes server ← browser extension → github.com PR

Why

Review faster Reviewers read why a block changed before reading how. Fewer “what does this do?” round trips.
Context from the author The agent that wrote the code explains it while it still knows the decisions and trade-offs.
Screenshots in the diff UI changes come with before/after or mobile/desktop shots next to the lines that caused them.
Zero noise Nothing is posted to the PR. The conversation stays for humans.
Your data Self-hosted, invite-only (or sign-up with GitHub), per-account access. Code context never leaves your infrastructure.
Any agent, any team One skill for every Agent Skills tool; one extension for several servers (teams, clients).

See it

On GitHub
Summary box above the diff Summary box above the files: the PR's summary, linked reports, a notes on/off switch, expand/collapse all.
Image gallery Gallery: several images in one note (mobile + desktop), ← → to flip, Esc to close.
Markdown report preview Previews of attached .md, .csv and .txt files, rendered in place.
A live HTML demo in a note Live demos: a small .html file runs in a locked sandbox under its note (no network, no access to GitHub); expand it at phone, tablet or desktop width.
Floating dock Floating dock once you scroll: note count, notes switch, summary popover. Long notes get show more / less.
In the app
A pull request's notes in the web app Every annotated PR, with its notes and attachments.
Account overview Accounts with roles (owner, admin, member), invitations, repositories, storage per repository.
Server admin Super admin: users, accounts, uploads, disk, and where files are stored.

Quick start

On the free server, about 3 minutes:

  1. Sign in at diffnotes.dev with GitHub: you get a team account to invite people into.
  2. Add the extension from the Chrome Web Store (Edge, Brave and Arc too). It opens a tab: Sign in and connect → allow. Nothing to copy.
  3. Set up your agent (Claude Code, Codex, Cursor, any Agent Skills tool): diffnotes.dev/welcome gives one command with your token in it. Run it once.
  4. On a branch with an open pull request, ask your agent: “annotate this PR with diffnotes”, then open the PR's Files changed tab.

No skills in your agent? Use the MCP endpoint instead: claude mcp add --transport http diffnotes https://diffnotes.dev/mcp --header "Authorization: Bearer $DIFFNOTES_TOKEN" (more).

Self-host

Code that must not leave your company: one container and a volume, on any Docker host.

docker run -d -p 3000:3000 -v diffnotes:/data \
  -e ADMIN_EMAIL=you@your-company.com -e PUBLIC_URL=https://diffnotes.your-company.com ghcr.io/igorkasyanchuk/diffnotes
docker logs <container> | grep "first admin"        # the generated password

Put it behind HTTPS, then follow the quick start with your server's address. Docker Compose, Coolify, Render, Fly.io and Railway: deploy; every setting: install & configure.

Docs

Install & configure Docker, environment variables, first admin, password reset, upgrades, backups
Deploy Docker Compose, Coolify, Render (one-click), Fly.io, Railway; one instance only
Agent skill Install, token, how the agent writes notes, payload format, allowed files
Browser extension Install (Chrome, Edge, Brave, Arc; Firefox and Safari as developer installs), several servers, GitHub / GitLab / Bitbucket, what you see, troubleshooting
Accounts & roles Owner / admin / member, invitations, repository rules, super admin, overview pages
File storage Disk or S3-compatible (Backblaze B2, Cloudflare R2, AWS S3, MinIO), expiry
Security Access model, upload checks, sandboxing, tokens, secrets; report a vulnerability: SECURITY.md
API The HTTP API the skill and the extension use
Development Stack, layout, commands, code rules
Changelog What changed in each version; releases are tagged vX.Y.Z
Privacy · Terms What the extension and a server keep; the license and the hosted service's terms (every server serves both)

Contributing

Issues and pull requests are welcome: open an issue for a bug or an idea, and see AGENTS.md for the stack and the checks to run. Security reports go privately: SECURITY.md. If DiffNotes saves your reviewers time, a ⭐ helps other people find it.

License

MIT: use it, change it, host it, sell it; keep the copyright notice. Terms of the hosted service: diffnotes.dev/terms.

About

Your coding agent explains its pull request; your team reads the notes, screenshots and live demos inside the diff on GitHub, GitLab and Bitbucket. Self-hosted, MIT.

Topics

Resources

Security policy

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages