A VS Code extension that provides GitHub repository analytics, data visualization, and report generation capabilities.
- TypeScript - Primary development language
- VS Code Extension API - Extension framework
- GitHub REST API - Data source for repository analytics
- Chart.js - Data visualization library
- HTML2Canvas & jsPDF - Report generation
- Node.js - Runtime environment
- Repository Metrics: Stars, forks, issues, contributors, and commit activity
- Activity Heatmaps: GitHub-style contribution patterns
- Contributor Analysis: Top contributors with detailed statistics
- Issue & PR Tracking: Resolution times and merge rates
- Health Scoring: Automated repository health assessment
- Chart.js Integration: Charts and graphs using Chart.js library
- Real-time Data: Live updates from GitHub API
- Responsive Design: Adapts to different screen sizes
- Theme Integration: Light/dark mode support
- HTML Reports: Standalone reports with interactive charts
- CSV Export: Raw data export for spreadsheet analysis
- JSON Export: Structured data export for further processing
- Print-friendly: Formatted for documentation and presentations
Main dashboard showing repository information and key metrics
Detailed commit activity charts and frequency analysis
Top contributors with contribution counts and activity patterns
Issue and PR statistics with resolution time analysis
Repository health score and community engagement metrics
View Sample PDF Report - HTML/PDF export with interactive charts
Install from the VS Code Marketplace by searching for "GitHub Insights Dashboard" and clicking Install.
Alternatively, install from VSIX:
code --install-extension github-insights-dashboard-1.0.1.vsixOpen any GitHub repository in VS Code:
git clone https://github.com/your-username/your-repo.git
code your-repo- Press
Ctrl+Shift+P(Cmd+Shift+Pon Mac) - Type "GitHub Insights: Show Dashboard"
- Press Enter
For private repositories or higher rate limits:
- Press
Ctrl+Shift+P - Type "GitHub Insights: Set GitHub Token"
- Enter your GitHub Personal Access Token
# Validate the project setup
node tests/validate-setup.js
# Open VS Code and press F5 to launch extension
# Use Ctrl+Shift+P → "GitHub Insights: Test with Public Repository"Access via File > Preferences > Settings > Extensions > GitHub Insights:
| Setting | Description | Default | Range |
|---|---|---|---|
githubInsights.defaultRangeDays |
Commit analysis range | 30 | 7-365 |
githubInsights.exportFolder |
Export location | workspace folder | any path |
githubInsights.cacheTTL |
Cache duration (ms) | 900000 | 60000+ |
githubInsights.maxPages |
API pagination limit | 5 | 1-20 |
githubInsights.mockMode |
Enable mock data | false | boolean |
| Command | Description | Shortcut |
|---|---|---|
GitHub Insights: Show Dashboard |
Open main dashboard | - |
GitHub Insights: Set GitHub Token |
Configure authentication | - |
GitHub Insights: Refresh Insights |
Refresh current data | - |
GitHub Insights: Clear Cache |
Clear cached data | - |
GitHub Insights: Export CSV |
Export data to CSV | - |
GitHub Insights: Export HTML Report |
Generate HTML report | - |
GitHub Insights: Export JSON |
Export data to JSON | - |
GitHub Insights: Test with Public Repository |
Test with mock data | - |
GitHub Insights: Show Token Status |
Display token configuration | - |
GitHub Insights: Clear GitHub Token |
Remove stored token | - |
- Displays essential repository information such as stars, forks, and issue counts, along with key activity indicators and an overall health summary. It provides a quick snapshot of repository performance at a glance.
- Visualizes daily commit trends, activity frequency, and contribution patterns over time. This section helps identify active development periods and overall commit distribution.
- Highlights the top contributors with their respective contribution counts and activity levels. It also includes a brief bus factor analysis to assess dependency on key contributors.
- Presents detailed statistics for issues and pull requests, including open and closed counts, merge rates, and average resolution times, giving insights into project responsiveness and workflow efficiency.
- Provides an overall health score of the repository, community engagement insights, and trend-based analysis to evaluate growth and long-term activity patterns.
Required for:
- Private repositories
- Higher rate limits (5,000 vs 60 requests/hour)
- Better API access
Token Permissions:
public_repo: Read access to public repositoriesrepo: Read access to private repositories (optional)read:user: Read user profile information
Security:
- Tokens stored using VS Code's encrypted SecretStorage API
- Never shared or transmitted to external services
- Can be cleared anytime via Command Palette
- Go to GitHub Settings > Developer settings > Personal access tokens
- Click "Generate new token (classic)"
- Select scopes:
public_repo(andrepofor private repos) - Copy the generated token
- Run "GitHub Insights: Set GitHub Token" in VS Code
| Authentication | Rate Limit | Reset Time |
|---|---|---|
| Unauthenticated | 60 requests/hour | 1 hour |
| Authenticated | 5,000 requests/hour | 1 hour |
Recommendations:
- Use a Personal Access Token for better limits
- Enable caching (default: 15 minutes) to reduce API calls
- Avoid frequent refreshes to stay within limits
"No GitHub repository detected"
- Ensure you're in a Git repository folder
- Check that
.git/configcontains GitHub remote - Verify the remote URL points to GitHub
"Rate limit exceeded"
- Wait for rate limit to reset (1 hour)
- Set up a Personal Access Token for higher limits
- Enable caching to reduce API calls
"Failed to load dashboard"
- Check internet connection
- Verify repository is accessible
- Try refreshing the dashboard
- Check VS Code Developer Console for errors
"Charts not loading"
- Ensure Chart.js CDN is accessible
- Check firewall settings
- Try refreshing the page
- Local Processing: All data processing happens on your machine
- No External Services: Only communicates with GitHub API
- Encrypted Storage: Tokens stored using OS credential store
- No Analytics: No usage tracking or telemetry
- HTTPS Only: All API requests use secure connections
- Open Source: Full source code available for review
├── src/ # Source code
│ ├── extension.ts # Main extension entry point
│ ├── github-api.ts # GitHub API client
│ ├── dashboard.ts # Dashboard HTML generation
│ ├── data-processor.ts # Data processing logic
│ ├── export-manager.ts # Export functionality
│ ├── cache-manager.ts # Caching implementation
│ ├── chart-manager.ts # Chart configuration
│ └── http-client.ts # HTTP utilities
├── tests/ # Validation and build scripts
├── fixtures/ # Mock data for testing
├── screenshots/ # Documentation images
├── .github/ # GitHub workflows and templates
└── package.json # Extension manifest
- VS Code: 1.104.0 or higher
- Node.js: 16.0.0 or higher (for development)
- Git: Required for repository detection
- Internet: Required for GitHub API access
# Clone the repository
git clone https://github.com/github-insights/github-insights-dashboard.git
cd github-insights-dashboard
# Install dependencies
npm install
# Validate setup
node tests/validate-setup.js
# Build the extension
npm run build
# Package the extension
node tests/build-extension.js# Verify extension integrity
node tests/verify-extension.js
# Validate development setup
node tests/validate-setup.js
# Lint code
npm run lint
# Fix linting issues
npm run lint:fix- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
MIT License - see LICENSE file for details.




