A command-line tool for analyzing GitHub repositories and their issues to help assess repository health and activity.
There are two ways to use git-scanner: downloading the pre-built executable or running from source.
-
Download the executable for your system from our latest release:
- Linux:
git-scanner-linux - macOS:
git-scanner-macos - Windows:
git-scanner-windows.exe
- Linux:
-
For convenience, you might want to rename it to just
git-scanner:# Linux/macOS mv git-scanner-linux git-scanner # or git-scanner-macos on Mac chmod +x git-scanner # Windows rename git-scanner-windows.exe git-scanner.exe
Note: We don't have an installer yet, so you'll need to run the executable from wherever you download it. You can move it to a convenient location or add its directory to your PATH.
If you prefer to run from source:
# 1. Set up a virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# 2. Install dependencies
pip install -r requirements.txtYou'll need a GitHub token. Export it as an environment variable:
export GITHUB_TOKEN='your_github_token'If you're using the executable:
./git-scanner turtlebot --repo turtlebot4 # Linux/macOS
git-scanner.exe turtlebot --repo turtlebot4 # WindowsIf you're running from source:
python git_scanner.py turtlebot --repo turtlebot4# Look at a specific repo
git-scanner turtlebot --repo turtlebot4
# Check all repos in an organization
git-scanner turtlebot
# Include private repos (if your token has access)
git-scanner turtlebot --private# Export all issues from a repo
git-scanner turtlebot --repo turtlebot4 --issuesgit-scanner turtlebot --format [table|csv|json|excel] --output filename- Basic stats (stars, forks, watchers)
- Issue and PR counts
- Activity information
- Technical details (languages, size, license)
- Status and timeline info
- Labels and assignees
- Full issue content
- Related metadata
- The tool handles GitHub's rate limits automatically
- For big organizations, it might take a while to fetch everything
- Hit
Ctrl+Cif you need to stop
Having trouble? Found a bug? Please open an issue on GitHub - we'd love to help!