gitgradeproduct docs

Docs

GitGrade evaluates commit history by engineering signal.

The web app runs repo and user analysis, persists reports, and presents a compact grading summary. The analyzer service owns the scoring logic and training pipeline.

Workspace

Monorepo layout

`apps/web` holds the Next.js dashboard and API routes.

`services/analyzer` contains the Python scoring and training code.

`datasets` stores labeled commit datasets and manifests.

`reports` contains sample and generated report artifacts.

Development

Run the app

Install dependencies, then start the web app from the repo root.

npm install
npm run dev:web

Connect

GitHub repo selection

User analysis now starts with a GitHub App install and authorization flow.

The app redirects users to GitHub, stores the returned session server-side, and loads granted repositories.

Selected repos are sent to the analyzer so the report targets only the repositories you chose.

Analyzer

Run the scoring service

cd services/analyzer
python -m venv .venv
.venv\Scripts\activate
pip install -e .
uvicorn gitgrade_analyzer.main:app --reload

API

Analyze a repo

POST /api/analyze/repo
{
  "repo": "vercel/next.js",
  "commit_limit": 40
}

API

Analyze a user

POST /api/analyze/user
{
  "username": "aaravhmodi",
  "selected_repos": ["aaravhmodi/gitgrade", "aaravhmodi/news-scraper"],
  "repo_limit": 2,
  "commits_per_repo": 30
}

Direction

Product sequence

Build the rule-based analyzer first.

Export stable JSON reports.

Visualize those reports in the web app.

Add labeled data and ML once the scoring contract is stable.