Complete GitHub repository analytics with releases, downloads & comprehensive visual insights
GitHub Repository Stats is a powerful, browser-based analytics tool that provides comprehensive statistics and insights for any public GitHub repository. Built with vanilla JavaScript and Chart.js, it delivers real-time data visualization without requiring any backend infrastructure or API keys.
This tool goes beyond basic repository information to provide deep insights into repository health, popularity, release management, and download analytics - all through an elegant, responsive interface.
GitHub Repository Stats displaying comprehensive analytics for a repository
- Core Metrics: Stars, forks, watchers, open issues
- Activity Data: Contributors, commits, branches, pull requests
- Network Stats: Subscribers, network size
- Repository Info: Size, creation date, last update, last push
- Complete Release Tracking: View all repository releases with detailed information
- Download Analytics:
- Total downloads across all releases
- Per-release download statistics
- Average downloads per release
- Individual asset download counts
- Release Details:
- Release notes and descriptions
- Asset information with file sizes
- Pre-release and draft indicators
- Publication dates and authors
- Interactive Release Browser: Dropdown selector for easy navigation
- Language Distribution Chart: Doughnut chart showing codebase composition
- Downloads by Release: Bar chart of top 10 releases by download count
- Release Timeline: Line chart showing cumulative release history
- Flexible Input Formats:
- Full repository path:
owner/repo
(e.g.,microsoft/typescript
) - Owner-only search:
owner
(e.g.,microsoft
)
- Full repository path:
- Repository Browser: When searching by owner, displays all public repositories with:
- Star counts
- Repository descriptions
- Easy selection dropdown
- Intelligent Caching: 5-minute cache duration to reduce API calls
- Rate Limit Management:
- Real-time rate limit monitoring
- Visual warnings when approaching limits
- Countdown timer to rate limit reset
- Optimized API Usage: Minimizes redundant requests
- Modern UI Design: Clean, gradient-based interface with smooth animations
- Responsive Layout: Fully functional on desktop, tablet, and mobile devices
- Interactive Elements:
- Expandable release cards
- Hover effects and transitions
- Loading indicators
- Cache Indicators: Visual feedback when using cached data
- Quick Actions: "Refresh" and "Analyze Another" buttons for easy navigation
- Detailed Metadata:
- Repository description and homepage
- Primary programming language
- License information
- Default branch name
- Topics/tags
- Feature Flags:
- Wiki status
- GitHub Pages status
- Projects enabled/disabled
- Discussions enabled/disabled
- Status Indicators: Archived repository warnings
-
Open the Application
- Open
src/repo-stats.html
in any modern web browser
- Open
-
Search for a Repository
Option A: Direct Repository Access
Enter: owner/repo Example: microsoft/typescript
Option B: Browse Owner's Repositories
Enter: owner Example: microsoft
Then select a repository from the dropdown list
-
View Analytics
- Scroll through comprehensive statistics
- Explore interactive charts
- Review release information and download statistics
-
Refresh Data
- Click the "๐ Refresh" button to bypass cache and fetch latest data
-
Analyze Another Repository
- Click "๐ Analyze Another" button or modify the search input
Input Format | Example | Description |
---|---|---|
owner/repo |
facebook/react |
Direct repository access |
owner |
google |
Browse all owner's repositories |
Full URL* | https://github.com/nodejs/node |
Legacy support (auto-parsed) |
*Note: Full GitHub URLs are automatically parsed to owner/repo format
- Frontend: Pure HTML5, CSS3, JavaScript (ES6+)
- Charts: Chart.js v4.4.0 (CDN)
- API: GitHub REST API v3
- Storage: LocalStorage for caching
/repos/{owner}/{repo}
- Repository information/repos/{owner}/{repo}/languages
- Language statistics/repos/{owner}/{repo}/contributors
- Contributor count/repos/{owner}/{repo}/releases
- Release data/repos/{owner}/{repo}/branches
- Branch information/repos/{owner}/{repo}/pulls
- Pull request count/repos/{owner}/{repo}/commits
- Commit history/users/{owner}/repos
- User repositories/orgs/{owner}/repos
- Organization repositories/rate_limit
- API rate limit status
- Limit: 60 requests per hour (unauthenticated)
- Monitoring: Real-time display of remaining requests
- Warning System:
- Orange warning at <20 requests remaining
- Red warning at <10 requests remaining
- Reset Timer: Countdown to rate limit reset
- Duration: 5 minutes per repository
- Storage: Browser LocalStorage
- Auto-cleanup: Removes cache older than 1 hour
- Visual Indicator: Shows "๐พ Cached" badge when using cached data
Browser | Minimum Version | Status |
---|---|---|
Chrome | 90+ | โ Fully Supported |
Firefox | 88+ | โ Fully Supported |
Safari | 14+ | โ Fully Supported |
Edge | 90+ | โ Fully Supported |
Opera | 76+ | โ Fully Supported |
Requirements:
- JavaScript enabled
- LocalStorage enabled
- Canvas support (for charts)
-
Clone or Download
git clone https://github.com/tinyBigGAMES/repo-stats.git cd repo-stats/repo
-
Open in Browser
# Simply open the HTML file open src/repo-stats.html # or start src/repo-stats.html
Deploy to any static hosting service:
-
GitHub Pages
# Push to gh-pages branch git subtree push --prefix repo/src origin gh-pages
-
Netlify / Vercel
- Drag and drop the
src
folder - Set build directory to
/
- No build command required
- Drag and drop the
-
Traditional Web Server
- Upload
src/repo-stats.html
to web root - Ensure
.ico
file is in same directory - No server-side configuration needed
- Upload
- Chart.js is loaded from jsDelivr CDN
- Ensure CDN access is not blocked by firewall/proxy
repo-stats/
โโโ repo/
โ โโโ src/
โ โ โโโ repo-stats.html # Main application file (standalone)
โ โ โโโ repo-stats.ico # Favicon
โ โโโ README.md # This file
The application is intentionally designed as a single HTML file containing:
- Complete HTML structure
- Embedded CSS styles
- Full JavaScript functionality
- No external dependencies (except Chart.js CDN)
Benefits:
- โ Easy deployment
- โ No build process required
- โ Portable and self-contained
- โ Works offline (after first load with cached Chart.js)
Each metric is displayed in an interactive card with:
- Icon: Visual representation
- Value: Formatted number (K/M notation)
- Label: Metric description
- Hover Effect: Smooth animation and shadow
- Release Selector: Dropdown with download counts
- Summary Cards: Total, average, and highest downloads
- Detailed View:
- Release title and version tag
- Pre-release/draft badges
- Publication date and author
- Full release notes (with truncation for long notes)
- Asset list with individual download counts
- File sizes for each asset
- Shows top 8 languages by byte count
- Percentage breakdown
- Color-coded segments
- Interactive tooltips
- Top 10 releases by download count
- Formatted download numbers
- Color-coded bars
- Hover tooltips with exact counts
- Chronological release history
- Cumulative release count
- Date labels
- Interactive data points
- No Data Collection: This tool collects no user data
- No Analytics: No tracking or analytics code
- Client-Side Only: All processing happens in the browser
- No Authentication Required: Uses GitHub's public API
- Read-Only Access: Only reads public repository data
- No Write Operations: Cannot modify repositories
- Rate Limited: GitHub's standard rate limits apply
- Public Data Only: Only works with public repositories
- Public Repositories Only: Cannot access private repositories
- Rate Limiting: Limited to 60 API calls per hour (unauthenticated)
- Large Organizations: Repositories are limited to first 100 (sorted by stars)
- Release Notes: Very long release notes are truncated (first 500 characters)
- Asset Types: All assets are treated equally (no type-specific handling)
- โ Verify the repository is public
- โ Check spelling of owner/repo names
- โ Ensure repository exists and is not deleted
- โ Wait for rate limit reset (timer shown in UI)
- โ Use cached data when available
- โ Consider authenticating with GitHub API for higher limits
- โ Ensure JavaScript is enabled
- โ Check browser console for errors
- โ Verify Chart.js CDN is accessible
- โ Clear browser cache and reload
- โ Click "๐ Refresh" button to bypass cache
- โ Cache automatically expires after 5 minutes
- โ Clear browser LocalStorage to force refresh
Contributions are welcome! Here's how you can help:
- ๐ Bug fixes
- โจ New features
- ๐ Documentation improvements
- ๐จ UI/UX enhancements
- ๐ Translations
- Maintain single-file architecture
- Use vanilla JavaScript (no frameworks)
- Keep dependencies minimal (Chart.js only)
- Follow existing code style
- Test across multiple browsers
- Update README for new features
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
repo-stats is licensed under the BSD-3-Clause License.
The BSD-3-Clause license is a permissive open-source license that provides you with:
- โ Commercial Use - Use repo-stats in commercial projects without restrictions
- โ Modification - Modify the source code to fit your needs
- โ Distribution - Redistribute the software freely
- โ Private Use - Use repo-status in private/proprietary projects
- โ No Copyleft - No requirement to open-source your projects built with repo-stats
This means you can use repo-stats to build both open-source and proprietary applications without worrying about licensing conflicts. The only requirements are to include the copyright notice and disclaimer in distributions.
tinyBigGAMESโข LLC
- ๐ Website: https://tinybiggames.com
- ๐ป GitHub: https://github.com/tinyBigGAMES
- Chart.js: MIT License - Chart.js
- GitHub API: REST API v3 - GitHub Docs
- ๐ Documentation: Read this README thoroughly
- ๐ Bug Reports: Open an issue on GitHub
- ๐ก Feature Requests: Submit via GitHub issues
- ๐ง Contact: Visit tinyBigGAMES.com
- Authentication support for higher rate limits
- Export statistics to PDF/CSV
- Comparison mode (compare multiple repositories)
- Historical data tracking
- Custom theme support
- Configurable chart types
- More detailed contributor analytics
- Issue and PR analytics
- Code frequency analysis
- Organization-wide statistics
- Dark mode toggle
- Keyboard shortcuts
- Bookmark/favorites system
- Share links for specific repositories
- Embeddable widgets
- API response caching improvements
This project itself is a testament to the value of GitHub analytics:
- Single File: Entire application in one HTML file
- Zero Dependencies: Except Chart.js (CDN)
- Pure JavaScript: No frameworks or build tools
- Responsive Design: Works on all devices
- Fast Loading: Minimal external resources
Made with โค๏ธ by tinyBigGAMESโข LLC
โญ Star this repository if you find it useful! โญ