Skip to content

Repository files navigation

repo-reviewer logo

Repo Reviewer - Review Your Repo

Instantly review any public GitHub repository or browse a user's repos,
languages, activity, contributors, and health, in one clean view.

Live Demo GitHub Stars License: MIT

Created by Bilal Malik
Follow on Github bilalmlkdev

repo-reviewer Dashboard

Overview

Repo Reviewer lets you paste any public GitHub repository and quickly understand its current state without manually navigating through multiple GitHub pages.

Provide either a repository name:

facebook/react

or a complete URL:

https://github.com/facebook/react

The application collects relevant repository information and presents it as a single review containing repository statistics, language distribution, commit activity, contributors, documentation, pull requests, and a transparent health score.

The purpose is not to decide whether a repository is objectively "good" or "bad". It provides useful signals that help developers understand a project faster.

What It Solves

Evaluating a GitHub repository often requires checking several different areas independently:

  • Repository statistics
  • Languages
  • Commit history
  • Contributors
  • README and documentation
  • Issues and pull requests
  • Recent development activity

Repo Reviewer brings these signals together in one interface.

This makes it useful for evaluating open-source projects, exploring unfamiliar codebases, researching repositories, finding projects to contribute to, or quickly reviewing your own public projects.

Review Data

Each repository review can include:

Repository Statistics

Displays important repository information and activity-related statistics in one place.

Language Breakdown

Shows the distribution of programming languages used by the repository.

Commit Activity

Visualizes recent commit activity so development momentum can be understood at a glance.

Contributors

Displays the repository's top contributors and provides a quick view of contribution activity.

README

The repository README can be viewed in two modes:

  • Preview - rendered Markdown with GitHub-flavored Markdown support.
  • Raw - original README source in a monospaced view.

Health Score

The health score is a transparent heuristic based on several repository signals:

  • Recent activity
  • Commit momentum
  • Contributor count
  • Documentation
  • License
  • Issue backlog

Each factor is explained in the interface. The score is intentionally presented as a signal rather than an objective measurement of software quality.

Locked Preview

Before a repository is searched, every review panel is already rendered using realistic placeholder data.

The panels are then locked with:

  • Blur
  • Reduced opacity
  • A lock indicator

After a successful search, the lock and blur transition away and the real repository data is displayed in the same layout.

When another search begins, the panels lock again. They also remain locked when a request fails, preventing stale results from being presented as current data.

The placeholder data follows the same RepoReview structure as real data, allowing the same components to render both states.

How It Works

The application uses the GitHub REST API to retrieve repository information.

lib/github.ts handles requests for:

  • Repository information
  • Languages
  • Contributors
  • Commit activity
  • README
  • Open pull requests

Independent requests are fetched in parallel where possible.

GitHub's commit-activity endpoint can return 202 while it calculates statistics. Repo Reviewer automatically retries this request. If the statistics remain unavailable, the chart displays an unavailable state instead of breaking the review.

API errors and rate-limit responses are converted into readable application messages.

Health Calculation

The health score is implemented in lib/health.ts.

It combines several observable repository signals into one readable result. The individual factors are exposed so users can understand how the result was produced.

The score should be treated as a starting point for investigation rather than a definitive judgment of repository quality.

State Management

lib/store.ts uses Zustand to manage:

  • Current repository review
  • Loading state
  • Error state
  • Recent searches

Recent searches are persisted using localStorage.

Component Structure

The interface is divided into focused components.

src/
├── components/
│   ├── Locked.tsx
│   ├── ReadmeTabs.tsx
│   ├── StatsGrid.tsx
│   ├── LanguageBar.tsx
│   ├── CommitChart.tsx
│   ├── Contributors.tsx
│   └── HealthGauge.tsx
│
├── lib/
│   ├── github.ts
│   ├── health.ts
│   ├── store.ts
│   └── placeholder.ts
│
├── styles/
│   └── index.css
│
└── App.tsx

Locked.tsx provides the reusable locked-state behavior.

ReadmeTabs.tsx handles the rendered and raw README views.

placeholder.ts contains fixture data matching the real review type.

Individual review components are responsible only for presenting their respective data.

Installation

Clone the repository:

git clone https://github.com/bilalmlkdev/repo-reviewer.git
cd repo-reviewer

Install dependencies:

npm install

Start the development server:

npm run dev

Build for production:

npm run build

After starting the development server, enter a public GitHub repository such as:

facebook/react
vuejs/core

or paste its complete GitHub URL.

GitHub API Limitations

Repo Reviewer currently uses unauthenticated GitHub API requests.

GitHub limits unauthenticated requests to 60 requests per hour per IP address. Heavy testing can therefore reach the limit.

When this happens, the application displays an appropriate error instead of exposing a raw API response.

Commit statistics may also take time to become available because GitHub sometimes calculates them asynchronously.

License

This project is licensed under the MIT License.

MIT License

Copyright (c) 2026 Bilal Malik

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

About

Review any public GitHub repo or browse a user's whole repo list - stars, activity, contributors, languages, health score, and a syntax-highlighted README.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages