Gitlyze is a web app that reviews public GitHub repositories and turns the results into a cleaner report.
I built it to answer a simple question: "Can I paste a repo URL and get useful code quality feedback without setting up a full local toolchain first?"
The current version focuses on JavaScript repositories. It pulls the repo tree from GitHub, downloads supported source files, runs ESLint-based checks, scores the results, and adds source-backed explanations for common issues.
- accepts a public GitHub repository URL
- fetches the repository tree and supported source files
- analyzes JavaScript, JSX, MJS, and CJS files
- groups lint findings into a readable review
- calculates a simple quality score from errors, warnings, and issue density
- adds external references for repeated issue types
- includes Supabase auth flow for sign in and sign up
Most code quality tools are either too raw or too noisy for a quick first pass. Gitlyze tries to sit in the middle:
- more structured than raw lint output
- lighter than a full hosted code review platform
- easier to demo on a public repo URL
- Next.js 15
- React 19
- TypeScript
- Tailwind CSS
- ESLint
- Exa Search API
- Supabase Auth
- Parse the GitHub repository URL
- Read the repository metadata and file tree from GitHub
- Filter to supported source files
- Run ESLint against downloaded file contents
- Normalize issues into a review-friendly structure
- Deduplicate recurring issue types
- Fetch supporting references for common problems
- Return a summary, score, warnings, and issue list
This project is intentionally narrow right now.
- JavaScript-first analysis
- public GitHub repositories only
- no local repo upload flow
- no saved review history yet
TypeScript files are detected, but they are currently reported as out of scope instead of being fully analyzed.
Create a .env.local file in the project root:
EXA_API_KEY=your_exa_api_key
GITHUB_TOKEN=
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=your_supabase_publishable_keyNotes:
EXA_API_KEYpowers the source-backed explanation layerGITHUB_TOKENis optional, but helps with rate limits- Supabase keys are required for auth
Install dependencies:
npm installRun the app:
npm run devOpen:
http://127.0.0.1:3000
Build for production:
npm run build
npm run startapp/
api/analyze/route.ts Repository analysis API route
page.tsx Main interface
components/
auth-modal.tsx Sign in and sign up UI
glow-card.tsx Interactive card surface
gitlyze-logo.tsx Branding component
lib/
analyzer.ts GitHub fetch, linting, scoring, and insights
utils/supabase/
client.ts Browser client
server.ts Server client
middleware.ts Session refresh
- TypeScript-aware analysis
- support for more languages
- pull request review mode
- saved reports
- comparison between repo revisions
Built by ANSHUL-REAL