RepoLens is a production-quality Chrome extension (Manifest V3) that analyzes GitHub repositories directly in the browser. It provides developers, maintainers, and open-source contributors with a concise project health overview, actionable engineering intelligence, risk intelligence, health history trends, and observable security posture.
Status: Version 1.0.0 (Final Portfolio Release)
RepoLens operates 100% on public GitHub REST API endpoints without requiring user authentication, tokens, or backend infrastructure.
- Tri-Score Architecture:
- Overall Health Score (0–100): Evaluates documentation, CI/CD automation, testing structures, security configuration, and maintenance recency.
- Repository Risk Score (0–100): Evaluates observable engineering weaknesses, missing lockfiles, ecosystem complexity, and configuration gaps (100 = Lowest Risk).
- Security Posture Score (0–100): Evaluates observable security controls (SECURITY.md, Dependabot, CodeQL, security workflows) (100 = Strongest Observable Posture).
- Dependency Intelligence: Identifies dependency manifests and lockfiles across 8 major ecosystems (Node.js, Python, Java, Go, Rust, PHP, Ruby, .NET) and parses package counts safely.
- Health History & Trend Analysis: Stores up to 30 historical snapshots in local storage (
repolens_history_${owner}_${repo}) with score trajectory tracking (IMPROVING,STABLE,DECLINING). - Production API & Rate-Limit Resilience: Centralized request manager with in-flight deduplication, max 3 concurrent requests, ETag conditional headers (
304 Not Modified), 5-minute storage caching, and API rate-limit state tracking. - Accessible & Responsive UX: Dark developer-tool design system, collapsible section progressive disclosure, keyboard accessibility (
Enter/Space), and screen-reader accessible attributes (aria-expanded).
- Core: React 18, TypeScript, Vite, Chrome Extension Manifest V3
- Styling: Vanilla CSS custom design system (HSL color tokens, dark mode, compact density)
- API: GitHub REST API (v3 public endpoints)
- Testing: Vitest (23 test files, 65 unit tests)
- Code Quality: ESLint, Prettier
Browser Tab (GitHub URL)
│
▼
urlParser.ts
│
▼
useRepoHealth Hook
│
├──────────────────────────┐
▼ ▼
cacheService.ts githubService.ts
(5-min TTL) │
▼
requestManager.ts
(Deduplication / Concurrency / ETag)
│
▼
GitHub REST API
│
┌──────────────────────────┴──────────────────────────┐
▼ ▼
Structure Analyzers Scoring Engine
(Doc, CI/CD, Test, Dep, Risk, Security) (Health, Risk, Security)
│ │
└──────────────────────────┬──────────────────────────┘
▼
historyService.ts
(Snapshots & Trends)
│
▼
React Popup UI
- Architecture Guide: Detailed system design, request flow, and Mermaid diagrams.
- Scoring Methodology: Exact scoring formulas, deduction rules, and level boundaries.
- Changelog: Complete release history from v0.1.0 to v1.0.0.
- Contributing Guide: Setup, testing, and PR expectations.
git clone https://github.com/Saravanakumar2602/RepoLens.git
cd RepoLens
npm installnpm run devnpm run testnpm run lint
npm run build- Build the production bundle:
npm run build
- Open Google Chrome and navigate to
chrome://extensions/. - Enable Developer mode in top-right.
- Click Load unpacked.
- Select the
distdirectory inside the project folder (c:\Saravanakumar G\Projects\RepoLens\dist). - Navigate to any public GitHub repository (e.g.,
facebook/react) and click RepoLens!
- Zero Server Uploads: Repository inspection is executed strictly within the local client browser sandbox. No source code or analytics are sent to external servers.
- Zero Credentials: No OAuth permissions, personal access tokens, or account logins required.
- Zero False Security Claims: Un-evaluated security checks (vulnerability scanning, secret content scanning) are explicitly marked as
Not evaluated.
- Public Repositories Only: Private repositories are intentionally not supported.
- Public API Rate Limits: Unauthenticated requests are governed by GitHub's public IP rate limits (60 requests/hour).
- Observable Posture Only: Evaluates observable repository configuration evidence only; does not claim absence of vulnerabilities or secrets.
- Read-Only: Performs zero write actions (no automated PR creation or issue filing).