Browser extension that simplifies the GitHub interface and adds useful features
We use GitHub a lot and notice many annoyances we'd like to fix. So here be dragons.
Our hope is that GitHub will notice and implement some of these much-needed improvements. So if you like any of these improvements, please open a discussion on GitHub feedback or contact GitHub support about doing it.
GitHub Enterprise is also supported: How to enable it.
The GITHUB and REFINED GITHUB trademarks are owned by GitHub, Inc. and used under license.
If you love Refined GitHub, consider sponsoring or hiring the maintainer @fregante
@fregante’s open source work is supported by the community. |
Makes whitespace characters visible |
Adds one-click merge conflict fixers |
---|---|
Adds reaction avatars showing who reacted to a comment |
Lets you hide every event except comments or unresolved comments in issues and PRs |
Linkifies issue/PR references and URLs in code and conversation titles |
Adds the option to wait for checks when merging a PR |
Adds a button to revert all the changes to a file in a PR |
Select notifications by type and status |
- 🔥 Adds a build/CI status icon next to the repo’s name.
- Hides watcher counter and on smaller screens the fork counter too.
- Adds useful links to the repository navigation dropdown
- 🔥 Adds a link to the default branch on directory listings and files.
- Adds a link to swap branches in the branch compare view.
- Displays the age of the repository in the sidebar.
- In your forked repos, shows number of your open PRs to the original repo.
- Points the “Forked from user/repository” link to current folder or file in the upstream repository.
- Makes some buttons on repository lists more compact to make room for other features.
- Automatically disables projects and wikis when creating a repository.
- Makes conversation sidebars and repository sidebars sticky, if they fit the viewport.
- Adds a link to visit the user’s github.io website from its repo.
- In the workflows sidebar, shows an indicator that a workflow can be triggered manually, and its next scheduled time if relevant.
- Lets you delete your repos in a click, if they have no stars, issues, or PRs.
- Helps you find the most active forks, via https://useful-forks.github.io.
- Moves the "Security" and "Insights" to the repository navigation dropdown. Also moves the "Projects", "Actions" and "Wiki" tabs if they're empty/unused.
- Adds the profile picture to the header of public repositories.
- Adds a button to download entire folders, via https://download-directory.github.io.
- Adds a button to toggle the repo file list.
- Adds a button to edit files from the repo file list.
- Ensures that the “Edit readme” button always appears (even when you have to make a fork) and works (GitHub’s link doesn’t work on git tags).
- Enables the File Finder keyboard shortcut (t) on entire repository.
- Lets you start typing your search immediately after invoking the File Finder (t), instead of having you wait for it to load first.
- Shows the associated pull requests on branches for forked repositories.
- Adds a link to preview HTML files.
- Enhances the y hotkey to also copy the permalink.
- Adds a button to copy a file’s content.
- Linkifies symbolic links files.
- Shows PRs that touch the current file.
- Reduces tabs’ size to 4 spaces instead of 8.
- Adds a keyboard shortcut to deselect the current line: esc.
- Shows Markdown front matter as vertical table.
- On branch commit lists, shows the PR that touches the current branch.
- 🔥 Enables tab and shift tab for indentation in comment fields.
- Adds a button to insert collapsible content (via
<details>
). - 🔥 Auto-resizes comment fields to fit their content and no longer show scroll bars.
- Lets you edit any comment with one click instead of having to open a dropdown.
- Adds a shortcut to edit your last comment: ↑. (Only works in the following comment field, if it’s empty.)
- Wraps selected text when pressing one of Markdown symbols instead of replacing it:
[
`
'
"
*
~
_
- Reduces the upload bar to a small button.
- Hides unnecessary comment field tooltips and toolbar items (each one has a keyboard shortcut.)
- Adds a button to
@mention
a user in conversations. - Adds a button in the text editor to quickly insert a simplified HTML table.
- Notifies the user of unfinished comments in hidden tabs.
- Wait for the attachments to finish uploading before allowing to post a comment.
- Adds a button to delete review comments in one click when editing them.
- Disables the enter-to-submit shortcut in some commit/PR/issue title fields to avoid accidental submissions. Use ctrl enter instead.
- Reminds you you’re commenting on a draft PR by changing the submit button’s label.
- Embeds short gists when linked in comments on their own lines.
- Adds links to browse the repository and linked files at the time of each comment.
- Adds the real name of users by their usernames.
- Shortens URLs and repo URLs to readable references like "_user/repo/.file@
d71718d
". - 🔥 Previews hidden comments inline.
- 🔥 Highlights the most useful comment in conversations.
- Hides reaction comments ("+1", "👍", …) (except the maintainers’) but they can still be shown.
- Limits the height of tall code blocks and quotes.
- Simplifies the UI to hide comments.
- Makes the "comment" icon in issue lists link to the latest comment of the issue.
- On long conversations where GitHub hides comments under a "Load more...", alt-clicking it will load up to 200 comments at once instead of 60.
- Adds shortcuts to conversations and PR file lists: j focuses the comment/file below; k focuses the comment/file above.
- Lets you open all visible conversations at once.
- Separates issues from PRs in the global search.
- Makes the conversation list’s filters toolbar sticky.
- Highlights conversations opened by you or the current repo’s collaborators.
- In conversation lists, aligns the labels to the left, below each title.
- 🔥 Changes the default sort order of conversations to
Recently updated
. - Adds
Everything commented by you
andEverything you subscribed to
filters in the search box dropdown. - Adds filters for conversations in your repos and commented on by you in the global conversation search.
- 🔥 Hides empty sections (or just their "empty" label) in the conversation sidebar.
- Hides
Projects
andMilestones
filters in conversation lists if they are empty. - Adds a shortcut to toggle all similar items (minimized comments, deferred diffs, etc) at once: alt click on each button or checkbox.
- Lets you toggle between is:open/is:closed/is:merged filters in searches.
- Adds a "Bugs" tab to repos, if there are any open issues with the "bug" label.
- Adds the updated time to pinned issues.
- Changes the layout of pinned issues from side-by-side to a standard list.
- Adds one-click buttons to remove labels in conversations.
- Removes duplicate information in the header of issues and PRs ("User wants to merge X commits from Y into Z")
- Dims commits and PRs by bots to reduce noise.
- Adds a shortcut to cancel editing a conversation title: esc.
- Hides the update time of conversations in lists when it matches the open/closed/merged time.
- Links the "Contributor" and "Member" labels on comments to the author’s commits on the repo.
- Adds a link to jump to the latest close event of a conversation.
- Adds a link to the non-PR commit when visiting a PR commit.
- Adds Checks and Draft PR dropdown filters in PR lists.
- Shows color-coded review counts in PR lists.
- Shows the base branch in PR lists if it’s not the default branch.
- Hides inactive deployments in PRs.
- Adds duplicate commit navigation buttons at the bottom of the
Commits
tab page. - Bypasses the "Checks" interstitial when clicking the "Details" links on a PR Checks added by third-party services like Travis.
- Opens the Checks "details" link in a new tab.
- Adds comment indicators when comments are hidden in PR review.
- Shows which PRs have conflicts in PR lists.
- Adds diff stats on PR commits.
- Adds a line-through to the deleted branches in PRs.
- Mark/unmark multiple files as “Viewed” in the PR Files tab. Click on the first checkbox you want to mark/unmark and then
shift
-click another one; all the files between the two checkboxes will be marked/unmarked as “Viewed”. - 🔥 Shows the first Git tag a merged PR was included in or suggests creating a release if not yet released.
- Jumps to first non-viewed file in a pull request when clicking on the progress bar.
- Adds copy-pastable git commands to checkout a PR.
- Adds a link to jump to the latest changed requested comment.
- Adds a link to open the last deployment from the header of a PR.
- Always uses unified diffs on files where split diffs aren’t useful.
- 🔥 Uses the PR’s title as the default squash commit title and updates the PR’s title to match the commit title, if changed.
- Adds a button to update a PR from the base branch to ensure it builds correctly before merging the PR itself. GitHub only adds it when the base branch is "protected".
- Simplifies the PR review form: Approve or reject reviews faster with one-click review-type buttons.
- Warns you when creating a pull request from the default branch, as it’s an anti-pattern.
- Warns you when unchecking
Allow edits from maintainers
, as it’s maintainer-hostile. - Adds keyboard shortcuts to cycle through PR tabs: g ← and g →, or g 1, g 2, g 3 and g 4.
- Automatically deletes the branch right after merging a PR, if possible.
- Lets you create draft pull requests and public gists in one click.
- Clears the PR merge commit message of clutter, leaving only deduplicated co-authors.
- Adds a review button to the PR sidebar, automatically focuses the review textarea and adds a keyboard shortcut to open the review popup: v.
- Uses the first commit for a new PR’s title and description.
- Adds links to
.patch
and.diff
files in commits. - Adds links to view the raw version, the blame and the history of files in PRs and commits.
- Adds one-click buttons to change diff style and to ignore the whitespace and a keyboard shortcut to ignore the whitespace: d w.
- Widens the
Expand diff
button to be clickable across the screen. - Hides diff signs since diffs are color coded already.
- Suggests limiting commit titles to 72 characters.
- Displays the corresponding tags next to commits.
- Marks merge commits in commit lists.
- When exploring blames,
Alt
-clicking the “Reblame” buttons will extract the associated PR’s commits first, instead of treating the commit a single change. - Indicates with an icon whether files in commits and pull requests being added or removed.
- Enables toggling file diffs by clicking on their header bar.
- Preserves current branch and path when viewing all commits by an author.
- Enables toggling commit messages by clicking on the commit box.
- Linkifies the "X files changed" text on compare pages to allow jumping to the diff.
- Adds a download count next to release assets.
- Adds a
Releases
tab and a keyboard shortcut: g r. - Adds a keyboard shortcut to create a new release while on the Releases page: c.
- Adds a tags dropdown/search on tag/release pages.
- 🔥 Adds a link to changes since last tag/release for each tag/release.
- Adds a link to the latest version tag on directory listings and files.
- Adds a button to convert a release to draft.
- Adds a button to view the changelog file from the releases page.
- On profiles, it shows whether the user follows you.
- Adds a link to the user’s public gists on their profile.
- Marks private organizations on your own profile.
- Adds a keyboard shortcut to visit your own profile: g m.
- Adds a link to the user’s most starred repositories.
- Hides forks and archived repos from profiles (but they can still be shown).
- Linkifies the user location in their hovercard and profile page.
- Shows the user local time in their hovercard (based on their last commit).
- Adds a link to the issues and pulls on the user profile repository tab and global search.
- 🔥 Condenses the events to take up less space and uncollapses "User starred X repos" groups.
- Hides "starred" events for your own repos on the newsfeed.
- Hides other inutile newsfeed events (commits, forks, new followers).
- Automagically expands the newsfeed when you scroll down.
- Adds a button to open all your unread notifications at once.
- Adds a shortcut to select all visible notifications: a.
- Linkifies the header of each notification group (when grouped by repository).
- Stops redirecting to notification inbox from notification bar actions while holding Alt.
- 🔥 Adds possible related pages and alternatives on 404 pages.
- Adds a keyboard shortcut to open selection in new tab when navigating via j and k: shift o.
- Automatically closes dropdown menus when they’re no longer visible.
- Renders
`text in backticks`
in issue titles, commit titles and more places. - Adds shortcuts to navigate through pages with pagination: ← and →.
- Lets you see how others are using the current Action in the Marketplace.
- Shows all of Refined GitHub’s new keyboard shortcuts in the help modal (? hotkey).
- Adds search filters in global search page: forks, private repos, own repos, authored commits.
- Removes the file hover effect in the repo file browser.
- Removes unnecessary or redundant information from the repository sidebar.
- Hides the milestone sorter UI if you don’t have permission to use it.
- Linkifies branch references in "Quick PR" pages.
- Removes the autocomplete on search fields.
- Adds a menu item to embed a gist via
<iframe>
. - Preserves the current line on “View blame prior to this change” links.
- Points the "View file" on compare view pages to the branch instead of the commit, so the Edit/Delete buttons will be enabled on the "View file" page, if needed.
- Makes labels clickable on the dashboard.
- Retries downloading images that failed downloading due to GitHub limited proxying.
- Makes some dropdowns 1-click instead of unnecessarily 2-click.
- Suggests fixing links that are wrongly shortened by GitHub.
- Aligns the repository header to the repository content on wide screens.
- Linkifies the username in the edit history popup.
- Avoids creating duplicate PRs when mistakenly clicking "Create pull request" more than once.
- After you click on an ajaxed link, this lets you stop loading a page by pressing the esc key, like the browser does for regular page loads.
- Avoids re-loading the page when jumping to function definition in the current file.
- Moves the "Convert PR to Draft" button to the mergeability box and adds visual feedback to its confirm button.
- Clears duplicate queries in the header search field.
- Prevents the merge panel from automatically opening on every page load after it’s been opened once.
- Adds keyboard shortcuts to select items in command palette using ctrl n and ctrl p (macOS only).
- Enables submission via ctrl enter on every page possible.
GitHub took inspiration from Refined GitHub and natively implemented dozens of its features, 🎉 so they've been removed from this extension. You can also see all the past features of Refined GitHub in a single list.
Most features can be disabled if they are JavaScript-based and you can override our CSS with your own in the extension options.
We're happy to receive suggestions and contributions, but be aware this is a highly opinionated project. There's a high bar for adding features. Users will always disagree with something. That being said, we're open to discussing things.