Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gh-inspect

Analyze any GitHub repository in seconds - health score, README quality, issue insights, dependency rot, contributor burnout detection, and dead repo verdict.

Node.js TypeScript License


Why

When doing open source contributions, I kept running into the same problem , spending time setting up a repo only to realize mid-way that it was unmaintained, had rotting dependencies, or had a single maintainer who hadn't been active in months.

So I built a tool that tells me all of that in one shot before I invest time in a project.


What it checks

Feature What it does
Repo health score Weighted 0 - 10 score across 7 dimensions
README analysis Detects missing sections, scores quality, lists improvements
Issue insights Open ratio, avg response time, contributor-friendliness labels
Dependency rot Hits npm registry, finds outdated + majorly-behind packages
Contributor burnout Detects bus factor risk, dominant + absent maintainers
Dead repo detector Signal-based verdict: active → slowing → stale → abandoned → dead
AI suggestions Optional Groq/OpenAI-powered actionable recommendations

Installation

# 1. Clone
git clone https://github.com/your-username/gh-inspect.git
cd gh-inspect

# 2. Install dependencies
npm install

# 3. Set up environment
cp .env.example .env
# Fill in your tokens 

# 4. Build
npm run build

# 5. Optional: use globally from anywhere
npm link

.env setup

# Required — https://github.com/settings/tokens → public_repo scope
GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx

# Optional — enables AI suggestions (free via Groq)
OPENAI_API_KEY=gsk_xxxxxxxxxxxxxxxxxxxx

Using Groq (free tier)

  1. Sign up at console.groq.com - free tier
  2. Create an API key

Usage

# Basic (Example)
gh-inspect https://github.com/expressjs/express

# Short form works too (Example)
gh-inspect facebook/react

# Skip AI (no API key needed)
gh-inspect vuejs/vue --no-ai

Score weights

Dimension Weight
README quality 22%
Issue health 18%
Recent activity 15%
Dependency rot 13%
Contributor burnout 12%
Community 12%
Documentation 8%

Project structure

src/
├── cli.ts                      entry point, Commander setup
├── index.ts                    orchestrator, runs all steps
├── services/
│   ├── githubService.ts        GitHub REST API - metadata, README, issues, commits, package.json
│   ├── readmeAnalyzer.ts       section detection, quality scoring
│   ├── issueAnalyzer.ts        response time, ratios, label analysis
│   ├── dependencyRotAnalyzer.ts  npm registry checks, version gap detection
│   ├── burnoutAnalyzer.ts      commit ownership, bus factor, absence detection
│   ├── deadRepoAnalyzer.ts     signal-based vitality scoring
│   ├── scoringService.ts       weighted score assembly, problems + suggestions
│   └── aiService.ts            Groq/OpenAI wrapper
├── utils/
│   ├── formatter.ts            terminal output renderer
│   └── logger.ts               chalk logger
└── types/
    └── index.ts                all TypeScript interfaces

Example outputs

Active Repo - Claude Code

claude

Slowing Repo - CoffeeScript

coffeescript

Tech stack

  • Runtime: Node.js ≥ 20
  • Language: TypeScript (strict mode, no any)
  • CLI: commander
  • HTTP: axios
  • HTML parsing: cheerio
  • Styling: chalk
  • Spinner: ora
  • AI: Groq (free) or OpenAI (optional)

Contributing

  1. Fork and clone
  2. npm install && npm run build
  3. Create a branch: git checkout -b feat/your-feature
  4. Commit and open a PR

License

MIT

About

A CLI tool that analyzes GitHub repositories for health, maintenance, dependency rot, contributor risk, and overall project vitality before you invest time contributing.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages