{"id":16208437,"url":"https://github.com/g-rath/gh-rr","last_synced_at":"2026-02-25T14:35:48.900Z","repository":{"id":233056642,"uuid":"785914247","full_name":"G-Rath/gh-rr","owner":"G-Rath","description":"Request review on pull requests from groups of reviewers","archived":false,"fork":false,"pushed_at":"2024-11-27T21:44:15.000Z","size":64,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-29T11:55:16.478Z","etag":null,"topics":["gh-extension"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/G-Rath.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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}},"created_at":"2024-04-12T22:40:40.000Z","updated_at":"2025-03-21T21:06:31.000Z","dependencies_parsed_at":"2024-04-25T20:52:03.176Z","dependency_job_id":null,"html_url":"https://github.com/G-Rath/gh-rr","commit_stats":null,"previous_names":["g-rath/gh-rr"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/G-Rath/gh-rr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G-Rath%2Fgh-rr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G-Rath%2Fgh-rr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G-Rath%2Fgh-rr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G-Rath%2Fgh-rr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/G-Rath","download_url":"https://codeload.github.com/G-Rath/gh-rr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G-Rath%2Fgh-rr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010793,"owners_count":26084807,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"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":["gh-extension"],"created_at":"2024-10-10T10:16:56.975Z","updated_at":"2025-10-12T08:37:20.437Z","avatar_url":"https://github.com/G-Rath.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gh-rr\n\nGitHub CLI extension to request reviews from defined groups of reviewers.\n\n## Installation\n\n```shell\ngh extension install g-rath/gh-rr\n```\n\n## Usage\n\nCreate a `gh-rr.yml` file in your home directory for configuring groups of\nreviewers:\n\n```yaml\n# this is a map of repositories to groups of GitHub usernames\nrepositories:\n  # these are \"global\" groups, which can be enabled with -g|--global\n  '*':\n    bob: [octopus]\n    security:\n      - octopus\n  g-rath/my-awesome-app:\n    # this is the implicit default group that will be used for this repository\n    - g-rath\n    - octocat\n  g-rath/my-awesome-api:\n    # this is the default group that will be used for this repository\n    default:\n      - g-rath\n    # this is an alternative group for this repository, which can be selected with -f|--from\n    infra:\n      - octodog\n      - octopus\n```\n\nThen start requesting reviewers on your pull requests:\n\n```shell\ngh rr\n```\n\nAs a thin wrapper around\n[`gh pr edit`](https://cli.github.com/manual/gh_pr_edit), the repository and\npull request are inferred automatically based on the current directory and\nchecked out branch when called without any flags or arguments.\n\nLike with `gh pr edit`, you can pass either a pull request number, url, or\nbranch as the first argument, and can use the `-R|--repo` flag to specify the\nrepository the pull request you're targeting belongs to:\n\n```shell\n# targeting a specific pull request in the current repository\ngh rr 123\n\n# targeting the pull request associated with a specific branch in another repository\ngh --repo octocat/hello-world my-feature\n```\n\nYou can also use the `-f|--from` flag to target alternative reviewer groups:\n\n```shell\ngh rr --from infra\n```\n\nThis can be combined with the `-g|--global` to target \"global\" groups which are\ndefined under the `*` repository:\n\n```shell\n# makes it easy to add a specific person\ngh rr -gf bob\n\n# or target a group of common people\ngh rr -gf security\n```\n\n## Why not use [CODEOWNERS](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) or [GitHub teams](https://docs.github.com/en/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team)?\n\nBoth of these can be used to achieve a similar result as this extension, but\nthey're not entirely equivalent: team-focused reviews generally dismiss the team\nreview when a single member of that team submits their review, and automatic\nreview assignment has a limit of up to 7 people (plus, it skips people who set\ntheir status to \"busy\" - while well intended, it assumes everyone diligently\nupdates their status).\n\nWhile you can use CODEOWNERS to work around this by specifying users instead of\nteams, that means you then need to do a commit to update the file (which is\nparticularly annoying when you're using branches for deployments), and it only\napplies at the file level rather than the change level (e.g. you might make an\nupdate to a section of your readme that relates to infrastructure, so should be\nreviewed by your platforms team)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fg-rath%2Fgh-rr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fg-rath%2Fgh-rr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fg-rath%2Fgh-rr/lists"}