Skip to content

br9704/gitpulse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚡ GitPulse

Generate beautiful developer profile report cards from GitHub — right in your terminal.

npm version license tests node

Features · Install · Usage · Examples · Three.js Export · Contributing


What Is This?

GitPulse scans any GitHub profile and generates a full developer report card with:

  • 📊 Stats overview — repos, stars, forks, followers in a clean 2-column layout
  • 💻 Language breakdown — colored bars with percentages and a summary strip
  • Top repositories — ranked by impact (stars × 3 + forks × 2 + watchers)
  • 📈 Contribution heatmap — last 90 days of activity, GitHub-style
  • Commit patterns — when you code, by day and hour (sparkline charts)
  • 🔥 Coding streaks — current and longest streaks
  • 🎯 Hire-ability score — a 0-100 score with letter grade and breakdown
  • ⚔️ Compare mode — side-by-side comparison of two developers
  • 🌐 Three.js export — export profile data as a 3D scene graph

Terminal Output

██████╗ ██╗████████╗██████╗ ██╗   ██╗██╗     ███████╗███████╗
██╔════╝ ██║╚══██╔══╝██╔══██╗██║   ██║██║     ██╔════╝██╔════╝
██║  ███╗██║   ██║   ██████╔╝██║   ██║██║     ███████╗█████╗
██║   ██║██║   ██║   ██╔═══╝ ██║   ██║██║     ╚════██║██╔══╝
╚██████╔╝██║   ██║   ██║     ╚██████╔╝███████╗███████║███████╗
 ╚═════╝ ╚═╝   ╚═╝   ╚═╝      ╚═════╝ ╚══════╝╚══════╝╚══════╝
  ⚡ Developer Profile Report Card ⚡

👤 Profile
────────────────────────────────────────────────────────────────
  Linus Torvalds (@torvalds)
  📍 Portland, OR
  Member for 14 years  │  https://github.com/torvalds

📊 Statistics
────────────────────────────────────────────────────────────────
  ■ Repositories: 7 (7 original)      ■ Stars Earned: 200.4K
  ■ Forks Earned: 56.1K               ■ Followers: 231.8K
  ■ Following: 0                      ■ Public Gists: 0

💻 Languages
────────────────────────────────────────────────────────────────
  C                ██████████████████████████████  71.4% (5 repos)
  C++              ██████████████░░░░░░░░░░░░░░░░  14.3% (1 repos)
  Perl             ██████████████░░░░░░░░░░░░░░░░  14.3% (1 repos)

  ██████████████████████████████████████████████████
  ● C ● C++ ● Perl

🎯 Hire-ability Score
────────────────────────────────────────────────────────────────
    Grade: A- (84/100)

  Repo Quality         █████████████░░ 21.3/25
  Consistency          ████████░░░░░░░ 10.2/20
  Language Diversity   ████░░░░░░░░░░░  4.8/15
  README Quality       ██████████████░ 14.1/15
  Recent Activity      █████████████░░ 20.5/25

────────────────────────────────────────────────────────────────
  Generated by gitpulse v1.0.0 • github.com/br9704/gitpulse

Features

Feature Description
📍 Profile Scan Fetches user data, repos (up to 200), and recent events
📊 Rich Stats Stars, forks, followers, repo count in formatted layout
💻 Language Bars Color-coded bars matching GitHub's linguist colors
📈 Heatmap 90-day contribution grid with 5 intensity levels
Commit Patterns Sparkline charts showing when you code most
🎯 Hire-ability Score Composite score (0-100) across 5 dimensions
⚔️ Compare Mode Head-to-head developer comparison
📋 Minimal Mode Compact one-liner output
🌐 Three.js Export Export as 3D scene graph (nodes + connections)
💾 Smart Caching 30-minute cache, auto-eviction at 50 profiles
🔑 Token Support Use a GitHub PAT for higher rate limits

Installation

# Install globally
npm install -g gitpulse

# Or run with npx
npx gitpulse torvalds

Usage

# Basic scan
gitpulse <username>

# Compare two developers
gitpulse <username> --compare <other-username>

# Minimal compact output
gitpulse <username> --minimal

# JSON output (clean, curated data)
gitpulse <username> --json

# Three.js scene export
gitpulse <username> --export

# Use a GitHub token for higher rate limits
gitpulse <username> --token ghp_xxxxxxxxxxxx

# Bypass cache
gitpulse <username> --no-cache

# Clear all cached profiles
gitpulse --clear-cache

All Flags

Flag Short Description
--token <token> -t GitHub personal access token
--json -j Output raw JSON data
--minimal -m Compact minimal output
--export -e Export Three.js scene data
--compare <user> -c Compare with another user
--no-cache Bypass cache and fetch fresh
--clear-cache Clear cached data

Examples

Basic Scan

$ gitpulse br9704

Outputs a full report card with profile, stats, languages, top repos, heatmap, commit patterns, streak, and hire-ability score.

Compare Mode

$ gitpulse torvalds --compare gvanrossum
⚔️ Comparison
────────────────────────────────────────────────────────────────
  torvalds  vs  gvanrossum
────────────────────────────────────────────────────────────────
                    torvalds  │  gvanrossum
  ──────────────── ────────────│────────────
  Repositories          7     │  31
  Stars            200.4K     │  3.2K
  Followers        231.8K     │  47.1K
  Score                84     │  72

  Score Breakdown:
  Repo Quality     21  █████████░░ │ ████████░░░ 18
  Consistency      10  ████████░░░ │ ██████░░░░░  8

  🏆 torvalds wins with grade A- vs B

Minimal Mode

$ gitpulse torvalds --minimal
⚡ Linus Torvalds (@torvalds)
📁 7 repos │ ⭐ 200.4K stars │ 🍴 56.1K forks │ 👥 231.8K followers
──────────────────────────────────────────────────
💻 C, C++, Perl
🎯 Score: 84 (A-)  🔥 Streak: 0d (best: 12d)

Three.js Export

Export any profile as a 3D scene graph for visualization:

gitpulse torvalds --export > scene.json

The output contains:

  • Nodes — user (center), languages (inner ring), repos (outer sphere)
  • Connections — user-language, user-repo, language-repo weighted edges
  • Metadata — stars, forks, descriptions, colors matching GitHub's scheme

Use this with Three.js, react-three-fiber, or any 3D framework to build interactive profile visualizations.

Hire-ability Score

The score (0-100) breaks down into 5 dimensions:

Dimension Max What It Measures
Repo Quality 25 Stars, forks, descriptions, topics, licenses
Consistency 20 Current/longest streak, event frequency
Language Diversity 15 Number of languages + Shannon entropy balance
README Quality 15 Descriptions, GitHub Pages, wikis, repo substance
Recent Activity 25 Recent pushes, updated repos, event type variety

Grades: A+ (95+), A (88+), A- (82+), B+ (76+), B (70+), B- (64+), C+ (56+), C (48+), C- (40+), D (30+), F (<30)

How It Works

  1. Fetches user profile, repositories (up to 200), and public events via GitHub REST API
  2. Computes language breakdown, commit patterns, contribution heatmap, and coding streaks
  3. Calculates a composite hire-ability score across 5 dimensions
  4. Renders everything as a rich terminal UI with colors, charts, and ASCII art

No scraping. No GraphQL. Just the public REST API — works without authentication (with rate limits) or with a token for heavy use.

Development

git clone https://github.com/br9704/gitpulse.git
cd gitpulse
npm install
npm run build
npm test

# Run locally
node dist/index.js <username>

Contributing

  1. Fork the repo
  2. Create a feature branch (git checkout -b feat/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feat/amazing-feature)
  5. Open a Pull Request

License

MIT — Bruno Jaamaa

About

Beautiful GitHub profile report cards in your terminal. Contribution heatmaps, language breakdowns, hire-ability scores, and more.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors