πŸ“¦ ljharb / repo-report

CLI to list all repos a user has access to, and report on their configuration in aggregate.

β˜… 25 stars β‘‚ 17 forks πŸ‘ 25 watching βš–οΈ MIT License
πŸ“₯ Clone https://github.com/ljharb/repo-report.git
HTTPS git clone https://github.com/ljharb/repo-report.git
SSH git clone git@github.com:ljharb/repo-report.git
CLI gh repo clone ljharb/repo-report
Jordan Harband Jordan Harband [readme] replace runkit CI badge with shields.io check-runs badge 236cdd4 7 days ago πŸ“ History
πŸ“‚ main View all commits β†’
πŸ“ .github
πŸ“ bin
πŸ“ config
πŸ“ src
πŸ“ test
πŸ“„ .editorconfig
πŸ“„ .gitignore
πŸ“„ .npmrc
πŸ“„ CHANGELOG.md
πŸ“„ LICENSE
πŸ“„ package.json
πŸ“„ README.md
πŸ“„ README.md

repo-report Version Badge

github actions coverage License Downloads

npm badge

CLI to list all repos a user has access to, and report on their configuration in aggregate.

Installation

  • npm install to install all dependencies
  • create .env file and initialize GH_TOKEN or GITHUB_TOKEN (in order of precedence) with your Github token

Getting Started

Creating a Personal Access Token (PAT)

  • Go to GitHub Tokens Settings.
  • Click Generate new token.
  • Give it a descriptive name (e.g., "my repo-report token").
  • Select the repo scope.
  • Generate the token and copy it.

Using your PAT with Repo-Report

  • You can set your token as an environment variable in your terminal:
  • run export GH_TOKEN=<your_personal_access_token>
OR you can add it to a .env file in the project root:
  • run GH_TOKEN=your_personal_access_token

Usage (for public)

  • After you generated your PAT you can open terminal then do the following:
  • on the terminal run export GH_TOKEN=<the personal access token generated>
  • run npx repo-report

Usage (for Contributors)

  • execute ./bin/run to get a report of all your repositories in the terminal

Running Repo-Report with `npx repo-report --help 1. --help - Show all available flags and usage examples. 2. --unactionable - Shows metrics you can’t change 3. --actual - Shows raw values instead of a βœ… or ❌ 4. --goodness - Shows if a metric is "good" (βœ…) or "bad" (❌) 5. -m, --metrics - Lists available metrics. 6. --all - Shows ALL metrics (Even ones that aren't actionable) 7. -p, --pick - Lets you select specific metrics 8. -f, --focus - Filters by repo type such as sources, forks, templates, private or public 9. --names - Shows repo names alongside their owners 10. -s, --sort - Sorts by "last updated date" by default; can be set to name or created instead. 11. -desc - Sorts descending instead of ascending. 11. --cache - Saves API request data in --cacheDir. # Optional (but helpful) - If you would like an extended and more detailed view of your repos you can use: - npx repo-report --all --actual - If you would like to have this be the default view whenever you run repo-report, you can run with: - alias repo-report='npx repo-report --all --actual - then run source ~/.bashrc`

Repo-Report Dashboard

The following shows an example output of repo-report --all --actual for my repositories. It shows important repository settings like issues, projects, branch protection, and allowed merge strategies. Additional details such as auto-merge, branch deletion on merge, and license information are also included in the full output as seen by the extended table below.

Repo-Report Dashboard Example