A modern Next.js application for viewing and managing pull requests across multiple GitHub repositories. Features a configurable column-based interface with advanced filtering capabilities and support for both public and private repositories.
- 🔐 GitHub Integration - Securely connect with your GitHub personal access token
- 📊 Multi-Repository View - Monitor PRs across all your repositories
- 🎯 Advanced Filtering - Filter by repository, labels, status, and search
- 📋 Configurable Columns - Customize which columns to display
- 🎨 Modern UI - Clean, responsive interface built with Tailwind CSS
- ⚡ Fast & Efficient - Built on Next.js 16 with React 19
- Framework: Next.js 16.0.1 (App Router)
- UI Library: React 19.2.0
- Language: TypeScript 5
- Styling: Tailwind CSS 4
- API: GitHub REST API v3
- Node.js 20.x or later
- A GitHub account
- A GitHub Personal Access Token (instructions below)
- Clone the repository
git clone https://github.com/your-username/pr-dashboard.git
cd pr-dashboard- Install dependencies
npm install- Configure GitHub Token (Optional)
You have two options for providing a GitHub token:
Option A: Server-side token (Recommended for personal use)
Create a .env.local file and add your token:
GITHUB_TOKEN=ghp_your_github_token_hereWith this approach, the token is used automatically and users don't need to enter it in the UI.
Option B: Client-side token
If you don't configure a server-side token, users will be prompted to enter their own GitHub token in the UI when they first visit the application.
Option C: Pre-configure default repositories
You can also set default repositories that will be automatically selected when the dashboard loads. This is useful for team deployments:
GITHUB_DEFAULT_REPOS=owner/repo1,owner/repo2,anotherowner/repo3Example for a single repository:
GITHUB_DEFAULT_REPOS=deseretdigital/marketplace-frontend- Run the development server
npm run dev- Open your browser
Navigate to http://localhost:3000
The application supports two ways to authenticate with GitHub:
Set the GITHUB_TOKEN environment variable in .env.local:
GITHUB_TOKEN=ghp_your_token_hereBenefits:
- Users don't need to configure anything
- Token is kept secure on the server
- Ideal for personal use or team deployments
If no server token is configured, users will be prompted to enter their own token:
- Go to GitHub Settings > Personal Access Tokens
- Click "Generate new token (classic)"
- Give it a descriptive name (e.g., "PR Dashboard")
- Select the following scopes:
repo- Full control of private repositories
- Click "Generate token"
- Copy the token (you won't be able to see it again!)
- Paste it into the application when prompted
The token is stored securely in your browser's localStorage and is only used to make API requests to GitHub.
pr-dashboard/
├── app/
│ ├── api/github/ # GitHub API routes
│ ├── components/ # React components
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utility functions
│ ├── types/ # TypeScript definitions
│ └── page.tsx # Main dashboard page
├── AGENTS.md # AI agent guidelines
└── README.md # This file
This project is open source and available under the MIT License.