{"id":48120510,"url":"https://github.com/rrbe/better-github","last_synced_at":"2026-06-06T10:00:28.137Z","repository":{"id":346256119,"uuid":"1186815941","full_name":"rrbe/better-github","owner":"rrbe","description":null,"archived":false,"fork":false,"pushed_at":"2026-06-03T07:40:34.000Z","size":2026,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-03T08:03:14.446Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rrbe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-20T02:41:11.000Z","updated_at":"2026-06-03T07:40:36.000Z","dependencies_parsed_at":"2026-06-03T08:00:50.629Z","dependency_job_id":null,"html_url":"https://github.com/rrbe/better-github","commit_stats":null,"previous_names":["rrbe/better-github"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/rrbe/better-github","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rrbe%2Fbetter-github","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rrbe%2Fbetter-github/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rrbe%2Fbetter-github/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rrbe%2Fbetter-github/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rrbe","download_url":"https://codeload.github.com/rrbe/better-github/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rrbe%2Fbetter-github/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33977371,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-06T02:00:07.033Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-04T16:19:07.503Z","updated_at":"2026-06-06T10:00:28.117Z","avatar_url":"https://github.com/rrbe.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Better GitHub\n\n[English](README.md) | [中文](README_CN.md)\n\n[![Chrome Web Store](https://img.shields.io/chrome-web-store/v/annimelofpkbcphbdikipjlconehbnpb)](https://chromewebstore.google.com/detail/better-github/annimelofpkbcphbdikipjlconehbnpb)\n\nA Chrome extension that enhances GitHub's UI with practical features.\n\nInspired by [Refined GitHub](https://github.com/refined-github/refined-github) — a great extension, but some bugs linger unfixed (e.g. the Releases tab) and certain feature requests go unaddressed due to scope control. Better GitHub fills those gaps.\n\nAnother motivation: Refined GitHub has too many features tightly coupled to GitHub's DOM, which breaks frequently as GitHub updates its UI. By keeping the feature set small and preferring the GitHub API over DOM manipulation, Better GitHub stays maintainable long-term.\n\n\u003e **Note:** GitHub frequently A/B tests UI changes and offers additional toggles in Feature Preview. Features that depend on unstable or frequently changing DOM structures are unlikely to be added, to keep this project at a manageable complexity.\n\n## Features\n\n### Home\n\n- **Better Top Repositories** — Auto-expand the \"Top repositories\" sidebar list and pin your favorite repos to the top. Works on the dashboard, feed page, and navigation drawer.\n\n   \u003cdetails\u003e\n      \u003csummary\u003eScreenshot\u003c/summary\u003e\n      \u003cimg src=\"docs/screenshots/better-top-repositories.png\" alt=\"Better Top Repositories\" width=\"300\" /\u003e\n   \u003c/details\u003e\n\n### PRs and issues\n\n- **Default Sort by Updated** — Sort PR and issue lists by recently updated instead of GitHub's default creation time order. No more missing active PRs buried on page 2.\n\n   \u003cdetails\u003e\n      \u003csummary\u003eScreenshot\u003c/summary\u003e\n      \u003cimg src=\"docs/screenshots/pr-issue-default-sort.png\" alt=\"Default Sort by Updated\" width=\"600\" /\u003e\n   \u003c/details\u003e\n\n- **PR Branch Names** — Display source branch name next to each PR title. Click to copy.\n\n   \u003cdetails\u003e\n      \u003csummary\u003eScreenshot\u003c/summary\u003e\n      \u003cimg src=\"docs/screenshots/pr-branch-name.png\" alt=\"PR Branch Names\" width=\"600\" /\u003e\n   \u003c/details\u003e\n\n- **PR Review Status** — Show review thread resolution status (resolved / unresolved) on the PR list. Only appears on PRs that have review threads; PRs without any review comments won't show a badge. Draft PRs are also excluded.\n\n   \u003cdetails\u003e\n      \u003csummary\u003eScreenshot\u003c/summary\u003e\n      \u003cimg src=\"docs/screenshots/pr-review-status.png\" alt=\"PR Review Status\" width=\"430\" /\u003e\n   \u003c/details\u003e\n\n- **PR Diff Stats** — Show additions, deletions, and changed file count (e.g. `+223 −114 · 5 files`) on each row of the PR list. Requires a token.\n\n   \u003cdetails\u003e\n      \u003csummary\u003eScreenshot\u003c/summary\u003e\n      \u003cimg src=\"docs/screenshots/pr-commit-diff-stats.png\" alt=\"PR Diff Stats\" width=\"430\" /\u003e\n   \u003c/details\u003e\n\n- **PR Label Position** — Move labels to the front of PR titles for better visibility and scanning.\n\n   \u003cdetails\u003e\n      \u003csummary\u003eScreenshot\u003c/summary\u003e\n      \u003cimg src=\"docs/screenshots/pr-label-position.png\" alt=\"PR Label Position\" width=\"500\" /\u003e\n   \u003c/details\u003e\n\n### PR details\n\n- **PR Approve Now** — Add an \"approve now\" shortcut to the Reviewers sidebar on PR detail pages for quick approval. Requires a token.\n\n   \u003cdetails\u003e\n      \u003csummary\u003eScreenshot\u003c/summary\u003e\n      \u003cimg src=\"docs/screenshots/pr-quick-approve.png\" alt=\"PR Approve Now\" width=\"300\" /\u003e\n   \u003c/details\u003e\n\n- **Collapse/Expand All Files** — Add buttons to the diff toolbar to collapse or expand all file diffs in one click, plus a button inside the file tree to collapse or expand all folders. Works on PR, commit, and compare pages, and compatible with both the old and the new \"Files changed\" experience.\n\n   \u003cdetails\u003e\n      \u003csummary\u003eScreenshot\u003c/summary\u003e\n      \u003cimg src=\"docs/screenshots/pr-collapse-expand-1.png\" alt=\"Collapse/Expand All Files\" width=\"600\" /\u003e\n      \u003cimg src=\"docs/screenshots/pr-collapse-expand-2.png\" alt=\"Collapse/Expand All Files\" width=\"300\" /\u003e\n   \u003c/details\u003e\n\n### Commits\n\n- **Commit Tags** — Show git tags as badges on the commits list page, so you can instantly see which commits are tagged releases.\n\n   \u003cdetails\u003e\n      \u003csummary\u003eScreenshot\u003c/summary\u003e\n      \u003cimg src=\"docs/screenshots/commit-tags.png\" alt=\"Commit Tags\" width=\"300\" /\u003e\n   \u003c/details\u003e\n\n- **Commit Diff Stats** — Show additions, deletions, and changed file count (e.g. `+223 −114 · 5 files`) on each row of the commits list page. Requires a token.\n\n   \u003cdetails\u003e\n      \u003csummary\u003eScreenshot\u003c/summary\u003e\n      \u003cimg src=\"docs/screenshots/pr-commit-diff-stats.png\" alt=\"Commit Diff Stats\" width=\"430\" /\u003e\n   \u003c/details\u003e\n\n### Repository\n\n- **Releases Tab** — Add a Releases tab to the repository navigation bar for quick access.\n\n   \u003cdetails\u003e\n      \u003csummary\u003eScreenshot\u003c/summary\u003e\n      \u003cimg src=\"docs/screenshots/releases-tab.png\" alt=\"Releases Tab\" width=\"800\" /\u003e\n   \u003c/details\u003e\n\n- **Watch/Fork/Star Popup** — Hover over the Watch, Fork, or Star counts on a repo page to preview the full list of watchers, forks, or stargazers in a popup, with \"View all\" links to the full pages. Results are cached for 5 minutes to minimize API calls.\n\n   \u003cdetails\u003e\n      \u003csummary\u003eScreenshot\u003c/summary\u003e\n      \u003cimg src=\"docs/screenshots/watch-fork-star-popup.png\" alt=\"Watch/Fork/Star Popup\" width=\"400\" /\u003e\n   \u003c/details\u003e\n\n- **Recent Commit Message Color** — Highlight recent commits with color based on their age, making it easy to spot the latest changes. Always on.\n\n   \u003cdetails\u003e\n      \u003csummary\u003eScreenshot\u003c/summary\u003e\n      \u003cimg src=\"docs/screenshots/file-age-color.png\" alt=\"Recent Commit Message Color\" width=\"600\" /\u003e\n   \u003c/details\u003e\n\nAll features except Recent Commit Message Color can be individually toggled on/off in the extension options.\n\n## Build from Source\n\n1. Clone the repo and build:\n\n   ```sh\n   pnpm install\n   pnpm build\n   ```\n\n2. Open `chrome://extensions`, enable **Developer mode**, click **Load unpacked**, and select the `dist` folder.\n\n## Install from Chrome Web Store\n\n[Chrome Web Store - Better GitHub](https://chromewebstore.google.com/detail/better-github/annimelofpkbcphbdikipjlconehbnpb)\n\n## Configuration\n\nRight-click the extension icon → **Options**:\n\n- **GitHub Token** — A **classic** personal access token for private repos and review status. Needs `repo` scope. [Create one here](https://github.com/settings/tokens).\n- **Feature Toggles** — Enable or disable each feature individually. Changes take effect immediately.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frrbe%2Fbetter-github","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frrbe%2Fbetter-github","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frrbe%2Fbetter-github/lists"}