{"id":13561672,"url":"https://github.com/genuinetools/pepper","last_synced_at":"2025-04-12T18:50:08.555Z","repository":{"id":45328477,"uuid":"69827437","full_name":"genuinetools/pepper","owner":"genuinetools","description":"A tool for performing actions on GitHub repos or a single repo.","archived":false,"fork":false,"pushed_at":"2023-01-12T15:57:44.000Z","size":7238,"stargazers_count":357,"open_issues_count":2,"forks_count":22,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-03T21:13:45.700Z","etag":null,"topics":["cli","git","github","repo","repos","security"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":false,"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/genuinetools.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":"audit.go","citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-10-02T23:11:33.000Z","updated_at":"2025-02-28T03:02:00.000Z","dependencies_parsed_at":"2023-02-09T12:30:41.930Z","dependency_job_id":null,"html_url":"https://github.com/genuinetools/pepper","commit_stats":null,"previous_names":["jessfraz/pepper"],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genuinetools%2Fpepper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genuinetools%2Fpepper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genuinetools%2Fpepper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genuinetools%2Fpepper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/genuinetools","download_url":"https://codeload.github.com/genuinetools/pepper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248618219,"owners_count":21134199,"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","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":["cli","git","github","repo","repos","security"],"created_at":"2024-08-01T13:00:59.821Z","updated_at":"2025-04-12T18:50:08.516Z","avatar_url":"https://github.com/genuinetools.png","language":"Go","readme":"\u003cp align=\"left\"\u003e\u003cimg src=\"logo/horizontal.png\" alt=\"pepper\" height=\"160px\"\u003e\u003c/p\u003e\n\n[![make-all](https://github.com/genuinetools/pepper/workflows/make%20all/badge.svg)](https://github.com/genuinetools/pepper/actions?query=workflow%3A%22make+all%22)\n[![make-image](https://github.com/genuinetools/pepper/workflows/make%20image/badge.svg)](https://github.com/genuinetools/pepper/actions?query=workflow%3A%22make+image%22)\n[![GoDoc](https://img.shields.io/badge/godoc-reference-5272B4.svg?style=for-the-badge)](https://godoc.org/github.com/genuinetools/pepper)\n[![Github All Releases](https://img.shields.io/github/downloads/genuinetools/pepper/total.svg?style=for-the-badge)](https://github.com/genuinetools/pepper/releases)\n\nNamed after Pepper Potts.  A tool for performing actions on GitHub repos or a single repo. \n\nActions include:\n\n- [Protecting all master branches](#protect)\n- [Adding a collaborator](#collaborators)\n- [Setting merge settings](#merge)\n\nYou can set which orgs to include and use `--dry-run` to see the\nchanges before they are actually made. Your user is automatically added to the\nrepositories it will consider.\n\nAlso see [genuinetools/audit](https://github.com/genuinetools/audit) for checking what\ncollaborators, hooks, deploy keys, and protected branched you have added on\nall your GitHub repositories.\n\n**Table of Contents**\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n**Table of Contents**\n\n- [Installation](#installation)\n    - [Binaries](#binaries)\n    - [Via Go](#via-go)\n- [Usage](#usage)\n  - [Protect](#protect)\n  - [Audit](#audit)\n  - [Collaborators](#collaborators)\n  - [Merge](#merge)\n  - [Update Release](#update-release)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n## Installation\n\n#### Binaries\n\nFor installation instructions from binaries please visit the [Releases Page](https://github.com/genuinetools/pepper/releases).\n\n#### Via Go\n\n```console\n$ go get github.com/genuinetools/pepper\n```\n\n## Usage\n\n```console\n$ pepper -h\npepper -  A tool for performing actions on GitHub repos or a single repo.\n\nUsage: pepper \u003ccommand\u003e\n\nFlags:\n\n  -d, --debug  enable debug logging (default: false)\n  --dry-run    do not change settings just print the changes that would occur (default: false)\n  --nouser     do not include your user (default: false)\n  --orgs       organizations to include (default: [])\n  -r, --repo   specific repo (e.g. 'genuinetools/img') (default: \u003cnone\u003e)\n  -t, --token  GitHub API token (or env var GITHUB_TOKEN) (default: \u003cnone\u003e)\n  -u, --url    GitHub Enterprise URL (default: \u003cnone\u003e)\n\nCommands:\n\n  audit          Audit collaborators, branches, hooks, deploy keys etc.\n  collaborators  Add a collaborator to all the repositories.\n  merge          Update all merge settings to allow specific types only.\n  protect        Protect the master branch.\n  release        Update the release body information.\n  version        Show the version information.\n```\n\n### Protect\n\nProtect all master branches.\n\n```console\n$ pepper protect --dry-run --token 12345 --orgs jessconf --orgs maintainerati\n[OK] jessconf/jessconf:master is already protected\n[OK] genuinetools/.vim:master is already protected\n[OK] genuinetools/anonymail:master is already protected\n[OK] genuinetools/apk-file:master is already protected\n[UPDATE] genuinetools/certok:master will be changed to protected\n...\n[OK] genuinetools/weather:master is already protected\n[OK] genuinetools/ykpiv:master is already protected\n[OK] maintainerati/wontfix-cabal-site:master is already protected\n```\n\n### Audit\n\nAudit collaborators, branches, hooks, deploy keys etc.\n\n```console\n$ pepper audit -r genuinetools/img\ngenuinetools/img -\u003e \n        Collaborators (7):\n                Admin (2):\n                        jessfraz\n                        j3ssb0t\n                Write (5):\n                        bketelsen\n                        gabrtv\n                        bacongobbler\n                        sajayantony\n                        AkihiroSuda\n                Read (0):\n\n        Hooks (4):\n                travis - active:true (https://api.github.com/repos/genuinetools/img/hooks/22351842)\n                jenkins - active:true (https://api.github.com/repos/genuinetools/img/hooks/22351967)\n                web - active:true (https://api.github.com/repos/genuinetools/img/hooks/38652766)\n                web - active:true (https://api.github.com/repos/genuinetools/img/hooks/38654028)\n        Protected Branches (1): master\n        Merge Methods: squash\n```\n\n\n### Collaborators\n\nAdd a collaborator to all the repositories.\n\n```console\n$ pepper collaborators -h\nUsage: pepper collaborators [OPTIONS] COLLABORATOR\n\nAdd a collaborator to all the repositories.\n\nFlags:\n\n  --admin      Team members can pull, push and administer this repository (default: false)\n  -d, --debug  enable debug logging (default: false)\n  --dry-run    do not change settings just print the changes that would occur (default: false)\n  --nouser     do not include your user (default: false)\n  --orgs       organizations to include (default: [])\n  --pull       Team members can pull, but not push to or administer this repository (default: false)\n  --push       Team members can pull and push, but not administer this repository (default: false)\n  -r, --repo   specific repo (e.g. 'genuinetools/img') (default: \u003cnone\u003e)\n  -t, --token  GitHub API token (or env var GITHUB_TOKEN) (default: \u003cnone\u003e)\n  -u, --url    GitHub Enterprise URL (default: \u003cnone\u003e)\n```\n\n```console\n$ pepper collaborators --dry-run --admin j3ssb0t\n...t \n[UPDATE] jessfraz/blog will have j3ssb0t added as a collaborator (admin)\n[UPDATE] jessfraz/bolt will have j3ssb0t added as a collaborator (admin)\n[UPDATE] jessfraz/boulder will have j3ssb0t added as a collaborator (admin)\n[UPDATE] jessfraz/buildkit will have j3ssb0t added as a collaborator (admin)\n[UPDATE] jessfraz/cadvisor will have j3ssb0t added as a collaborator (admin)\n...\n```\n\n### Merge\n\nUpdate all merge settings to allow specific types only.\n\n```console\n$ pepper merge -h\nUsage: pepper merge [OPTIONS]\n\nUpdate all merge settings to allow specific types only.\n\nFlags:\n\n  --commits    Allow merge commits, add all commits from the head branch to the base branch with a merge commit (default: false)\n  -d, --debug  enable debug logging (default: false)\n  --dry-run    do not change settings just print the changes that would occur (default: false)\n  --nouser     do not include your user (default: false)\n  --orgs       organizations to include (default: [])\n  -r, --repo   specific repo (e.g. 'genuinetools/img') (default: \u003cnone\u003e)\n  --rebase     Allow rebase merging, add all commits from the head branch onto the base branch individually (default: false)\n  --squash     Allow squash merging, combine all commits from the head branch into a single commit in the base branch (default: false)\n  -t, --token  GitHub API token (or env var GITHUB_TOKEN) (default: \u003cnone\u003e)\n  -u, --url    GitHub Enterprise URL (default: \u003cnone\u003e)\n```\n\n```console\n$ pepper merge --dry-run --squash\nUPDATE] jessfraz/.vim will be changed to squash\n[OK] jessfraz/1up is already set to squash\n[UPDATE] jessfraz/acs-engine will be changed to squash\n[UPDATE] jessfraz/acs-ignite-demos will be changed to squash\n[UPDATE] jessfraz/apparmor-docs will be changed to squash\n[UPDATE] jessfraz/baselayout will be changed to squash\n...\n```\n\n### Update Release\n\nUpdate the release body according to the template.\n\n```console\n$ pepper release --repo genuinetools/img\nUpdated release v0.5.0/v0.5.0 for repo: genuinetools/img\n```\n","funding_links":[],"categories":["Go","GitHub Management"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenuinetools%2Fpepper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgenuinetools%2Fpepper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenuinetools%2Fpepper/lists"}