Quick Start
This flow is the shortest path from a fresh clone to a shareable analysis result.
1. Start The Development Server
npm run devNavigate to http://localhost:3000 and let the app redirect you to /analyzer.
2. Paste Repository URLs
Provide one or more GitHub repository URLs, one per line. The form validates URLs client-side with Zod before sending the request.
Example input:
https://github.com/facebook/react
https://github.com/tensorflow/tensorflow
https://github.com/fastapi/fastapi3. Submit The Analysis
When the form submits, the request path is:
AnalyzerView -> POST /api/analyze -> analyzer.service -> github.service + scoring.serviceThe response includes:
- Per-repository metrics
- Activity score and score breakdown
- Complexity score and score breakdown
- Difficulty level and combined score
- Summary statistics and rate limit status
4. Read The Scores
The scoring model uses two top-level numbers:
Classification thresholds:
| Combined score | Level | Interpretation |
|---|---|---|
| < 35 | Beginner | Good for newcomers |
| 35-65 | Intermediate | Some experience needed |
| > 65 | Advanced | Significant experience required |
5. Export The Report
The results view exposes:
- JSON export for full structured output
- CSV export for spreadsheet analysis
JSON is the preferred format when another system needs all metric details and score breakdowns.
Example Interpretation
If a repository has moderate commit activity but high file count and dependency density, it may still land in the Intermediate or Advanced band because maintainability and onboarding cost are part of the model, not just popularity.
For public demos, use a GitHub token so rate limits do not interrupt a multi-repository run mid-session.
Next Steps
- Scoring Formulas for the exact math
- Architecture for the internal layering
- Sample Analysis for a concrete five-repository output