A modern, self-contained web application for analyzing and visualizing Pull Requests created by GitHub Copilot Coding Agent.
π Live Demo
- π Statistics Summary: Display counts of merged, closed, and open PRs
- π Merge Success Rate: Visual progress bar showing merge success rate
- π Daily Trend Chart: Interactive Chart.js visualization of daily PR activity
- π PR List: Detailed list of all PRs with status badges
- π Dark Mode: Seamless light/dark theme switching with localStorage persistence
- π± Responsive Design: Fully responsive for mobile, tablet, and desktop
- β¨ Modern UI: Glassmorphism design with gradient backgrounds and smooth animations
- πΎ Smart Caching: 5-minute cache for API responses to reduce redundant requests
- π Rate Limit Display: Real-time visualization of GitHub Search API rate limit status
| Technology | Purpose | Version |
|---|---|---|
| Vite | Modern build tool and dev server | 5.0.8 |
| Tailwind CSS | Utility-first CSS framework (npm) | 3.4.0 |
| Chart.js | Data visualization library (npm) | 4.4.1 |
| JavaScript (ES6+) | GitHub API integration | - |
| GitHub Search API | PR data fetching with efficient filtering | v3 |
| Playwright | E2E testing | 1.40.0 |
- Node.js 24+
- npm or yarn
# Clone the repository
git clone https://github.com/sikebe-demo/copilot-coding-agent-activity-dashboard.git
cd copilot-coding-agent-activity-dashboard
# Install dependencies
npm install# Start development server with hot reload
npm run dev
# Open http://localhost:8080# Build for production
npm run build
# Preview production build
npm run previewVisit https://sikebe-demo.github.io/copilot-coding-agent-activity-dashboard/
- Enter repository information (e.g.,
microsoft/vscode) - Select analysis period (start date and end date)
- Optional: Enter GitHub Personal Access Token (recommended to avoid rate limits)
- Click "Start Analysis"
To avoid API rate limits and access private repositories:
- Go to GitHub Settings > Developer settings > Personal access tokens
- Click "Generate new token"
- Select
reposcope - Generate and copy the token
- Paste it in the "GitHub Token" field
The dashboard identifies PRs created by Copilot Coding Agent by checking if the PR author (pr.user.login) matches copilot (case-insensitive).
This method is reliable because PRs created by Copilot Coding Agent are authored by the Copilot user account (canonical login: copilot, though GitHub may display it with different casing).
Note: Branch name prefix (
copilot/) and assignee checks are not used for detection because:
- Any user can create branches with the
copilot/prefix- Human-authored PRs can be assigned to Copilot for assistance
.
βββ index.html # Main HTML file with modern UI
βββ app.js # Application logic with Chart.js
βββ style.css # Tailwind CSS + custom styles
βββ vite.config.js # Vite configuration
βββ tailwind.config.js # Tailwind theme customization
βββ postcss.config.js # PostCSS with Tailwind
βββ package.json # npm dependencies
βββ .gitignore # Git ignore rules
βββ tests/
β βββ dashboard.spec.js # E2E tests (18 test cases)
βββ README.md # This file
β All tests passing!
$ npm test
> copilot-coding-agent-activity-dashboard@1.0.0 test
> playwright test
Running 16 tests using 1 worker
Β·Β·Β·Β·Β·Β·Β·Β·Β·Β·Β·Β·Β·Β·Β·Β·
16 passed (18.3s)Test Coverage: 16 E2E tests covering:
- Form validation and user input
- GitHub API integration with mocked responses
- Data visualization and chart rendering
- Dark mode functionality
- Responsive design
- Error handling and edge cases
- Accessibility features
# Install dependencies
npm install
# Install Playwright browser
npx playwright install chromium
# Run E2E tests
npm test
# Run tests in debug mode
npm run test:debug
# Run tests in UI mode
npm run test:uiFor detailed testing instructions, see TESTING.md.
- Primary: Indigo (600, 700)
- Success: Green (500, 600)
- Error: Red (500, 600)
- Info: Blue (500, 600)
- Glassmorphism cards with backdrop blur
- Gradient backgrounds (indigo β purple β pink)
- Smooth transitions and animations
- Hover scale effects
- Shimmer progress bar
npm run dev # Start Vite dev server
npm run build # Build for production
npm run preview # Preview production build
npm test # Run Playwright E2E tests
npm run test:debug # Run tests in debug mode
npm run test:ui # Run tests in UI modeThis repository is configured for automatic deployment to GitHub Pages:
- Go to repository Settings > Pages
- Set Source to "GitHub Actions"
- Push to
mainbranch to trigger deployment - Site will be available at:
https://<username>.github.io/copilot-coding-agent-activity-dashboard/
# Build the project
npm run build
# Deploy the dist/ folder to your hosting service- β Chrome/Edge (latest)
- β Firefox (latest)
- β Safari (latest)
- β Mobile browsers (iOS Safari, Chrome Mobile)
- β CodeQL static analysis: No vulnerabilities
- β GitHub Actions permissions: Minimal required permissions
- β Token management: Password input field, not persisted
- β API authentication: Bearer token authentication
- β XSS prevention: HTML escaping for user content
Pull requests are welcome! Bug reports and feature requests are accepted through Issues.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License
Created with β€οΈ by GitHub Copilot Coding Agent
Note: This is a client-side application that uses the GitHub Search API directly from the browser. No backend server is required. Includes smart caching (5-minute TTL) and rate limit monitoring for optimal performance.
