Mosaic GitHub

Review huge GitHub pull requests on one screen

Every changed file at once, low-risk files sorted into groups you can approve in bulk, and GitHub's “Viewed” checkboxes kept in sync.

Latest release · free and open source · Chrome, Edge, Brave, Arc

Mosaic needs a Chromium-based browser such as Chrome, Edge, Brave or Arc. It doesn't run in Firefox or Safari.

Mosaic showing a 101-file pull request: a sidebar of low-risk groups with ‘approve all’ buttons, and tiles with each file's diff

Install

Mosaic isn't in the Chrome Web Store yet, so Chrome can't install it in one click. Loading it yourself takes four steps and about a minute.

  1. Download mosaic.zip and unzip it

    Put the folder somewhere permanent. Chrome runs Mosaic from it, so don't delete it afterwards.

  2. Open chrome://extensions

    Paste it into the address bar. Browsers don't let web pages link there directly. In Edge it's edge://extensions.

  3. Turn on Developer mode

    The switch is in the top-right corner of the extensions page.

  4. Click “Load unpacked” and choose the unzipped folder

    Choose the folder that contains manifest.json.

Then open any pull request on github.com and click the Mosaic button in the bottom-right corner, or press Alt+Shift+M.

Updating

Extensions installed this way don't update themselves. To update, unzip the latest mosaic.zip into the same folder, replacing the old files, then click the reload button ↻ on Mosaic's card in chrome://extensions. Keeping the same folder keeps your settings and time-saved stats. All releases

What it does

Made for pull requests too big to review one file at a time.

Everything loads at once

Every file's diff is shown in a grid of tiles. No lazy loading and no clicking from file to file.

Approve low-risk files in bulk

Renamed, deleted, generated, lockfile, snapshot, translation, whitespace-only and identical-edit files are grouped, and each group can be marked viewed with one click, with undo.

Tests as a list of names

Test files show one row per test with its line counts. Click a row to see its code.

Markdown preview

Rendered docs with changes highlighted, plus warnings for edits that don't show when rendered, such as changed link targets or HTML comments.

Synced with GitHub

Ticking a file in Mosaic marks it viewed on GitHub, and the other way round.

Keyboard first

j/k to move between files, x to mark viewed, / to filter and v to hide viewed files.

Privacy

Mosaic has no server, no analytics and no tokens. It talks only to github.com, using the session you're already signed in with, and everything it stores stays in your browser. The source is on GitHub for anyone to check.

Contribute

Found a bug or have an idea? Open an issue or send a pull request. The README explains how to build and test it.