gitslurp π

A powerful command-line tool that analyzes GitHub user activity and highlights their contributions across repositories. Perfect for developers, maintainers, and anyone interested in understanding contribution patterns on GitHub.
# Quick install
go install git.sr.ht/~gnome/gitslurp@latest
# Basic usage
gitslurp soxoj
Features
-
π User-Centric Analysis: Search by GitHub username, email address or organization
-
π Comprehensive Commit History: View all commits made by a user across public repositories
-
π― Visual Highlighting: Easily identify target user's commits with color-coding and emojis
-
π₯ Multiple Identity Support: Detects and groups commits from different email addresses and names
-
π½ Advanced Secret Detection: Powered by TruffleHog-inspired regex patterns for enterprise-grade secret detection
-
β Interesting Patterns: Find URLs, UUIDs, IPs, and other interesting patterns in commit messages
-
π¦ Repository Context: Shows if commits are in user's own repositories or forks
-
π’ Organization Scanning: Scan entire organizations to identify employees and their commit patterns
Installation
go install git.sr.ht/~gnome/gitslurp@latest
Usage
Basic usage:
gitslurp <username>
Search by email:
gitslurp user@example.com
With GitHub token (recommended for better rate limits):
gitslurp -t <github_token> <username>
Enable secret detection:
gitslurp --secrets <username>
Options
-
--token, -t: GitHub personal access token (can also be set via GITSLURP_GITHUB_TOKEN environment variable)
-
--details, -d: Show detailed commit information
-
--secrets, -s: Enable TruffleHog-powered secret detection in commits π½
-
--interesting, -i: Show interesting findings like URLs, emails, and other patterns in commit messages
-
--quick, -q: Quick mode - fetch ~50 most recent commits per repo β‘
-
--timestamp-analysis, -T: Analyze commit timestamps for unusual patterns π
-
--include-forks, -F: Include forked repositories in the scan
-
--json, -j: Output results in JSON format
-
--csv: Output results in CSV format
-
--profile-only, -p: Show user profile only, skip repository analysis
The tool provides a clear, color-coded output:
- π Target user's emails are marked and highlighted
- β Target user's commits are highlighted
- π€ Author information is clearly displayed
- π Repository names are organized and highlighted
Example output:
π user@example.com (Target User)
Names used: John, John Doe
Total Commits: 150
π Repo: example/project
β Commit: abc123
π URL: https://github.com/example/project/commit/abc123
π€ Author: John Doe <user@example.com>
Authentication
For better rate limits and access to private repositories, use a GitHub personal access token:
- Create a token at https://github.com/settings/tokens
- Use the
-t flag or set the GITSLURP_GITHUB_TOKEN environment variable
Development
Requirements:
- Go 1.21 or higher
- GitHub API access (token recommended)
Build from source:
git clone git@git.sr.ht:~gnome/gitslurp
cd gitslurp
go build
License
MIT License - see LICENSE file for details