Skip to content

AI-powered GitHub analytics dashboard for developers — track commits, contributors, and trends in real time.

Notifications You must be signed in to change notification settings

Mxs8513/repopulse

Repository files navigation

RepoPulse

Actionable insights for your GitHub repositories

License: MIT Next.js TypeScript Node.js React

Deploy on Vercel

Table of Contents

Overview

RepoPulse is a modern, AI-powered GitHub analytics dashboard that provides real-time insights into repository activity, commit patterns, contributor behavior, and development trends. Built with Next.js and React, it transforms raw GitHub data into actionable intelligence for development teams.

Dashboard Overview

Screenshot 2025-10-28 at 10 22 37 PM Screenshot 2025-10-28 at 10 24 43 PM

The main dashboard provides a comprehensive view of repository activity with:

  • Real-time statistics: Stars, forks, commits, and open issues displayed in interactive cards
  • Performance charts: Visual bar graphs showing activity trends over time
  • Quick metrics: Average commit size, code review time, active branches, and open PRs
  • Weather & time widget: Live clock with date and temperature display
  • Notifications panel: Real-time alerts for new commits and repository events

Repository Analysis

Screenshot 2025-10-28 at 10 25 26 PM Screenshot 2025-10-28 at 10 26 03 PM

Get AI-powered insights into any GitHub repository:

  • AI Summary: Intelligent analysis of development focus, bug fixes, and code quality improvements
  • Key Features: Automatically extracted from commit history and repository stats
  • Technology Stack: Identifies programming languages and tools used
  • Use Cases: Common scenarios and applications for the repository
  • Community Stats: Visual representation of stars, forks, contributors, and issues

Commit History

Screenshot 2025-10-28 at 10 27 42 PM Screenshot 2025-10-28 at 10 28 04 PM

Track every change with detailed commit information:

  • Chronological list: All commits displayed with messages, authors, and timestamps
  • Commit details: Hash, author names, dates, and file change statistics
  • Quick view: See additions, deletions, and files modified at a glance
  • Direct links: Click through to GitHub for full commit details

Activity Timeline

Screenshot 2025-10-28 at 10 28 33 PM

Visual timeline of repository activity:

  • Recent commits: Latest changes displayed chronologically
  • Author attribution: See who made each commit and when
  • Change tracking: Monitor file modifications and code updates over time
  • Hash references: Quick commit identification with short hashes

Insights & Trends

Screenshot 2025-10-28 at 10 29 03 PM Screenshot 2025-10-28 at 10 29 21 PM

AI-powered analytics and team insights:

  • Development Velocity: Track commit frequency and activity patterns
  • Code Quality Focus: Analyze bug fix ratios and quality improvements
  • Contributor Breakdown: See top contributors with progress bars
  • Language Distribution: Visual breakdown of code by programming language

Main Features

  • 🎯 Dashboard Overview (/) - Real-time repository statistics and activity
  • 📊 Repository Analysis (/analysis) - AI-powered repository insights and explanations
  • 📝 Commit History (/commits) - Detailed commit timeline with file changes
  • 📈 Activity Timeline (/timeline) - Visual timeline of repository events
  • 💡 Insights & Trends (/insights) - AI-generated development insights and patterns

Key Features

  • Real-time GitHub Data - Fetch actual commits, contributors, and statistics from GitHub API
  • AI-Powered Analysis - Intelligent insights using Groq AI (optional, gracefully degrades)
  • Commit Visualization - Interactive commit history with detailed file changes
  • Contributor Analytics - Track contributor activity and contributions
  • Repository Statistics - Stars, forks, issues, branches, and pull requests
  • PR Review Times - Estimate average time to review pull requests
  • Trend Snapshots - Visual representation of development patterns
  • Search & Filter - Find repositories quickly with real-time search
  • Responsive Design - Works seamlessly on desktop and mobile
  • GitHub Integration - Direct links to GitHub pages for repositories, commits, and PRs
  • Recently Opened Repos - Quick access to last 5 viewed repositories
  • Activity Timeline - Visual timeline of repository events
  • Performance Charts - Track commit activity over time with interactive charts
  • Language Breakdown - See code distribution by programming language
  • Smart Caching - localStorage persistence for recent repositories

Tech Stack

  • Framework: Next.js 15 (App Router)
  • Language: TypeScript
  • UI Library: React 18
  • Styling: Tailwind CSS
  • Components: shadcn/ui
  • Charts: Recharts
  • AI: Groq API (optional)
  • Deployment: Vercel

Quick Start

Prerequisites

  • Node.js 18+ (LTS recommended)
  • pnpm (recommended) or npm
  • GitHub Personal Access Token (optional, for higher rate limits)

Installation

  1. Clone the repository:
git clone https://github.com/Mxs8513/repopulse.git
cd repopulse
  1. Install dependencies:
pnpm install
  1. Set up environment variables:

Create a .env.local file in the root directory:

# GitHub Personal Access Token (optional but recommended for higher rate limits)
MY_GITHUB_PAT=your_github_token_here

# Groq API Key (optional, enables AI analysis features)
GROQ_API_KEY=your_groq_api_key_here
  1. Run the development server:
pnpm dev
  1. Open http://localhost:3000 in your browser

Environment Variables

Variable Required Description
MY_GITHUB_PAT Optional GitHub Personal Access Token for higher API rate limits (5000/hour vs 60/hour without auth)
GROQ_API_KEY Optional Groq API key for AI-powered analysis features

Note: AI features gracefully degrade if GROQ_API_KEY is not set. The app will work without fetching AI insights.

API Endpoints

Health Check

GET /api/health

Returns service health status.

Repository Data

GET /api/repo?repo=<owner>/<name>

Example:

curl http://localhost:3000/api/repo?repo=facebook/react

Response includes:

  • Repository metadata (name, stars, forks, issues)
  • Recent commits with authors and dates
  • Contributors list
  • Branch and PR statistics
  • AI analysis (if API key is configured)

Deployment

Deploy on Vercel (Recommended)

Deploy on Vercel

  1. Click the button above or visit Vercel
  2. Import your repository
  3. Add environment variables in Project Settings > Environment Variables
  4. Deploy

Manual Deployment

  1. Set environment variables in your deployment platform
  2. Build the project: pnpm build
  3. Start the production server: pnpm start

Security

⚠️ Important: Never commit secrets or API keys to the repository.

  • All secrets should be in .env.local (already gitignored)
  • Use environment variables in production
  • This repository includes a pre-commit hook that blocks accidental secret commits
  • Review the .gitignore file to ensure sensitive files are excluded

Project Structure

repopulse/
├── app/                    # Next.js app router pages
│   ├── page.tsx           # Dashboard home
│   ├── analysis/          # Repository analysis page
│   ├── commits/           # Commit history page
│   ├── timeline/          # Activity timeline page
│   ├── insights/          # Insights & trends page
│   └── api/               # API routes
├── components/            # React components
│   ├── dashboard/         # Dashboard components
│   ├── analysis/          # Analysis components
│   ├── commits/           # Commit components
│   ├── timeline/          # Timeline components
│   ├── insights/          # Insights components
│   └── ui/               # Reusable UI components
├── lib/                  # Utility functions and services
│   ├── github-service.ts # GitHub API integration
│   ├── ai-service.ts     # AI analysis service
│   └── getGithubToken.ts # Token management
├── hooks/                # Advanced custom React hooks
├── public/               # Static assets
└── types/                # TypeScript type definitions

Highlights

Performance Optimizations

  • Optimized bundle size by removing unused components (65% reduction)
  • Upgraded to Next.js 16.0 with Turbopack for faster builds
  • Fixed hydration errors and improved server/client rendering
  • Smart caching with localStorage for better UX
  • Memoized functions to prevent infinite render loops

Bug Fixes

  • Fixed infinite render loop in repository tracking
  • Resolved hydration mismatches between server and client
  • Improved error handling for rate limits and API failures
  • Better handling for empty states and loading indicators

Recent Updates

See CHANGELOG.md for detailed version history. Latest highlights:

  • Version 1.52.0 - Fixed hydration errors & upgraded to Next.js 16.0
  • Version 1.48.0 - Optimized bundle size by removing unused components
  • Version 1.36.0 - Rebranded to RepoPulse & Removed Monkey Icon
  • Version 1.35.0 - AI Analysis enabled for Analysis page
  • Version 1.34.0 - Repository Analysis page created
  • Version 1.33.0 - Insights Page with AI Analysis
  • Version 1.32.0 - Fixed Infinite Render Loop
  • Version 1.31.0 - Recently Opened Repositories Feature
  • Version 1.30.0 - Performance Chart connected to GitHub API

Roadmap

Short-term Goals

  • Add multi-repository comparison
  • Enhanced AI insights with customizable prompts
  • Export reports as PDF/JSON
  • Add dashboard screenshots to README
  • Improve mobile responsiveness

Long-term Goals

  • Webhook integration for real-time updates
  • Custom dashboard widgets
  • Support for private repositories (with authentication)
  • Team collaboration features
  • Advanced analytics and predictions

Troubleshooting

Common Issues

Rate Limit Errors

Problem: You see "API rate limit exceeded" errors.

Solution: Set up a GitHub Personal Access Token:

  1. Go to GitHub Settings > Developer settings > Personal access tokens
  2. Generate a new token with public_repo scope
  3. Add it to .env.local as MY_GITHUB_PAT=your_token_here

This increases your rate limit from 60 requests/hour to 5,000 requests/hour.

AI Insights Not Showing

Problem: AI analysis sections show "AI explanation temporarily unavailable".

Solution: Set up the Groq API key (free tier available):

  1. Sign up at Groq Console
  2. Generate an API key
  3. Add it to .env.local as GROQ_API_KEY=your_key_here

The app works without AI, but insights will be enhanced with it.

Build Errors

Problem: npm run build fails with TypeScript errors.

Solution:

  1. Make sure you're using Node.js 18+
  2. Delete node_modules and reinstall: rm -rf node_modules && pnpm install
  3. Clear Next.js cache: rm -rf .next

Port Already in Use

Problem: Error: Port 3000 is already in use.

Solution:

  1. Kill the process: pkill -f "next dev"
  2. Or use a different port: PORT=3001 pnpm dev

License

MIT License - See LICENSE file for details

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branchоци (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Acknowledgments

Support

For issues, questions, or contributions, please open an issue on GitHub.


Made with ❤️ by Mxs8513

About

AI-powered GitHub analytics dashboard for developers — track commits, contributors, and trends in real time.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages