npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

git-repo-analyzer-test

v1.0.28

Published

A comprehensive Node.js tool for analyzing GitHub repositories across four critical dimensions: **Code Quality**, **Vulnerabilities**, **Code Review Practices**, and **Performance**.

Downloads

2,235

Readme

Git Repository Analyzer

A comprehensive Node.js tool for analyzing GitHub repositories across four critical dimensions: Code Quality, Vulnerabilities, Code Review Practices, and Performance.

Features

  • 📈 Code Quality Analysis: Evaluate repository health through stars, forks, issues, documentation, and activity metrics
  • 🔒 Security & Vulnerability Assessment: Identify potential security risks and recommend safeguards
  • 👥 Code Review & Collaboration Metrics: Analyze pull request patterns, review velocity, and team collaboration
  • ⚡ Performance & Release Analysis: Track release frequency, development velocity, and code frequency patterns
  • 📊 Comprehensive Reports: Generate detailed reports with actionable recommendations
  • 🔄 Batch Analysis: Analyze multiple repositories in one operation

Installation

  1. Clone or download the repository
  2. Install dependencies:
npm install
  1. (Optional) Configure GitHub token for authenticated requests:
npm run analyze -- config

Create a .env file in the root directory:

GITHUB_TOKEN=your_github_personal_access_token

Usage

Analyze a Single Repository

npm run analyze -- analyze owner/repo-name

Example:

npm run analyze -- analyze facebook/react

Save Report to File

npm run analyze -- analyze owner/repo-name --output ./reports/report.json

Analyze Multiple Repositories

Create a file repos.txt with one repository per line:

facebook/react
torvalds/linux
kubernetes/kubernetes
nodejs/node

Then run:

npm run analyze -- batch repos.txt --output-dir ./reports

View Configuration

npm run analyze -- config

Report Sections

1. Code Quality

  • Stars, forks, watchers
  • Open issues count
  • Primary language and languages used
  • Days since last update
  • Documentation presence
  • Topics and tags

2. Security & Vulnerability

  • Risk level assessment (Critical, High, Medium, Low)
  • Risk factors identification
  • Security feature status
  • Maintenance status
  • Actionable recommendations

3. Code Review & Collaboration

  • Pull request metrics (total, open, merged, closure rate)
  • Average review time
  • Contributor count
  • Commit patterns and unique authors
  • Review velocity analysis

4. Performance & Release

  • Release frequency and patterns
  • Development velocity trends
  • Code activity analysis
  • Weekly additions and deletions
  • Release cadence recommendations

Environment Variables

  • GITHUB_TOKEN: Personal access token for authenticated API requests (increases rate limit from 60 to 5000 requests/hour)

API Rate Limits

  • Without token: 60 requests per hour (IP-based)
  • With token: 5000 requests per hour (user-based)

Project Structure

src/
├── index.js              # Main entry point
├── cli.js                # Command-line interface
├── github/
│  └── client.js         # GitHub API client
├── analyzers/
│  ├── quality.js        # Code quality analyzer
│  ├── vulnerability.js  # Security analyzer
│  ├── codeReview.js     # Code review analyzer
│  └── performance.js    # Performance analyzer
└── report/
   └── generator.js      # Report generation

Example Output

📊 GitHub Repository Analysis Report
Repository: facebook/react
Generated: 2/10/2026, 10:30:45 AM

🎯 Overall Score: 92/100
[████████████████████░░░░░░]

📈 Code Quality Analysis
Quality Score: 95/100
┌────────────────────┬─────────┐
│ Metric             │ Value   │
├────────────────────┼─────────┤
│ Stars              │ 215000  │
│ Forks              │ 44000   │
│ Open Issues        │ 1200    │
└────────────────────┴─────────┘

[Additional sections for security, code review, and performance...]

Technologies Used

  • axios: HTTP client for API requests
  • commander: CLI framework
  • chalk: Terminal colors
  • table: Formatted table output
  • dotenv: Environment variable management

Error Handling

The analyzer handles various error scenarios:

  • Invalid repository format
  • Network errors
  • API rate limit exceeded
  • Repository not found
  • Insufficient permissions

Contributing

Feel free to submit issues and enhancement requests!

License

MIT License - See LICENSE file for details

Support

For issues, questions, or suggestions, please open an issue in the repository.