54
RepoHealth is a Chrome extension designed to provide an at-a-glance assessment of a GitHub repository's health. It injects a visual badge directly onto GitHub repository pages, allowing users to quickly determine if a project is actively maintained, moderately active, likely stale, or archived. This helps developers make informed decisions about depending on a project or contributing to it.
Key Features:
Detects when a user is viewing a GitHub repository page.
Utilizes the GitHub API to fetch public data such as last push date, recent commit frequency, issue activity, star count, and archived status.
Calculates a heuristic score (0-100) to categorize the repository's health into 'Active', 'Moderate', 'Likely stale', or 'Archived'.
Injects a colored badge next to the repository title, with a tooltip providing a detailed breakdown of the signals used for the score.
To install RepoHealth:
Unzip the provided `repohealth.zip` file or use the `repohealth/` folder directly.
Navigate to `chrome://extensions` in your Chrome browser.
Enable 'Developer mode' using the toggle in the top-right corner.
Click 'Load unpacked' and select the `repohealth` folder.
Visit any GitHub repository to see the health badge.
Fixed a race condition related to fast repository navigation.
Optimized API calls by deduplicating navigation signals.
Improved scoring for new repositories with a single commit.
Added fallback selectors for more robust badge placement.
Relies on unauthenticated GitHub API requests, with a rate limit of 60 requests per hour per IP. Caching is implemented to mitigate this.
The health score is a heuristic and not definitive.
Badge placement is dependent on GitHub's current DOM structure and may require adjustments after significant GitHub redesigns.
Future plans include:
Implementing an optional personal token field to increase the API rate limit.
Introducing a 'Pro' version with additional signals like dependency freshness and PR merge times.
Refining badge placement for better compatibility across different repository layouts.
Developing launch assets and marketing materials for wider distribution.
Built with