A terminal-inspired GitHub repository analytics tool. Analyze contributions, track pull requests, and discover active contributors across projects with a minimalist monochrome interface.
- Repository Analysis - Analyze any GitHub repository's contributors and PR activity
- Organization Member Search - Browse and search organization members with autocomplete
- Contribution Statistics - View detailed PR stats (merged, open, closed) per contributor
- Terminal-Inspired UI - Minimalist monochrome design with a clean, distraction-free interface
- Smart Autocomplete - Tab-complete repositories and members as you type
- Responsive Design - Works seamlessly on desktop and mobile devices
- Lazy Loading - Infinite scroll through organization repos and members
- GitHub Token Support - Optional PAT for higher API rate limits
# Clone the repository
git clone https://github.com/vee1e/Gitivity.git
cd Gitivity
# Install dependencies
bun install
# Start development server
bun run devOpen http://localhost:5173 in your browser.
- Enter a repository in the format
owner/repo(e.g.,facebook/react) - Select a time period (2 weeks to all time)
- Click Analyze to fetch contribution data
- Browse contributors and click on any user to see their detailed stats
- Toggle to Member mode
- Type an organization name followed by
/(e.g.,facebook/) - Browse members with autocomplete (Tab to navigate, Enter to select)
- Press Enter to view member contribution statistics
- Tab - Move down through suggestions
- Shift + Tab - Move up through suggestions
- Enter - Select highlighted item
- Arrow Keys - Alternative navigation
- Escape - Close dropdown
- Frontend: React 18 + TypeScript
- Build Tool: Vite
- Styling: Tailwind CSS
- API: GitHub REST API (via Octokit)
- Icons: Lucide React
- Date Handling: date-fns
For higher API rate limits (5,000 requests/hour vs 60), add a GitHub PAT:
- Click Add Token in the header
- Create a token at github.com/settings/tokens with
public_reposcope - Paste your token and save
The token is stored locally in your browser and never sent to any server.
src/
├── components/
│ ├── TokenSettings.tsx # GitHub token configuration modal
│ └── UserStatsModal.tsx # User contribution statistics modal
├── contexts/
│ └── ThemeContext.tsx # Monochrome theme provider
├── utils/
│ ├── github.ts # GitHub API integration
│ └── env.ts # Environment & token management
├── App.tsx # Main application component
├── index.css # Global styles & CSS variables
└── types.ts # TypeScript type definitions
# Install dependencies
bun install
# Start development server with hot reload
bun run dev
# Build for production
bun run build
# Preview production build
bun run preview
# Run ESLint
bun run lintGitivity uses the GitHub API with the following limits:
- Unauthenticated: 60 requests/hour
- Authenticated (with PAT): 5,000 requests/hour
A notification will appear if you're approaching the limit.
- Chrome/Edge (latest)
- Firefox (latest)
- Safari (latest)
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE for details.
Lakshit Verma - @vee1e