REST API

All endpoints are served from https://glaux.dev. Showcase repositories (tobi/qmd, transformerlab/transformerlab-app) are publicly accessible. Other repositories require authentication.

Base URL: https://glaux.dev/api


Repo Overview

GET /api/repos/:org/:repo

Returns a high-level summary of a repository including its hottest files, detected communities, sync status, and total file count.

Response:

{
  "repoSlug": "microsoft/playwright",
  "totalFiles": 4231,
  "hotFiles": [
    {
      "path": "packages/playwright-core/src/server/browserContext.ts",
      "pagerank": 0.0042,
      "commitCount": 187,
      "recentCommitCount": 23,
      "additionsTotal": 4520,
      "deletionsTotal": 2100,
      "community": "browser-server",
      "centrality": 0.031
    }
  ],
  "communities": [
    {
      "name": "browser-server",
      "fileCount": 48
    }
  ],
  "syncStatus": {
    "status": "completed",
    "startedAt": "2026-02-20T03:00:00.000Z",
    "completedAt": "2026-02-20T03:12:45.000Z",
    "commitsSynced": 1542,
    "filesDiscovered": 4231,
    "issuesSynced": 892,
    "prsSynced": 310
  }
}

File Intelligence

GET /api/repos/:org/:repo/file/*path

Returns churn metrics, centrality, community membership, co-change relationships (with trend field: "increasing", "decreasing", or "stable"), and linked issues for a single file.

Response:

{
  "path": "packages/playwright-core/src/server/browserContext.ts",
  "churn": {
    "commitCount": 187,
    "recentCommitCount": 23,
    "additionsTotal": 4520,
    "deletionsTotal": 2100
  },
  "centrality": 0.031,
  "community": "browser-server",
  "pagerank": 0.0042,
  "coChanges": [
    {
      "path": "packages/playwright-core/src/server/page.ts",
      "count": 54,
      "confidence": 0.29,
      "trend": "stable"
    }
  ],
  "linkedIssues": [
    {
      "number": 28412,
      "title": "BrowserContext.close() hangs when page has open dialog",
      "state": "open",
      "labels": ["bug", "browser-context"],
      "html_url": "https://github.com/microsoft/playwright/issues/28412"
    }
  ]
}

Graph Visualization Data

GET /api/repos/:org/:repo/graph

Returns the top files by PageRank and co-change edges between them, suitable for rendering a force-directed graph.

Query parameters:

ParameterTypeDefaultDescription
limitinteger50Number of top files to return. Clamped to 10--100.

Response:

{
  "nodes": [
    {
      "id": "packages/playwright-core/src/server/browserContext.ts",
      "pagerank": 0.0042,
      "centrality": 0.031,
      "community": "3",
      "commitCount": 187
    }
  ],
  "edges": [
    {
      "source": "packages/playwright-core/src/server/browserContext.ts",
      "target": "packages/playwright-core/src/server/page.ts",
      "weight": 0.85,
      "count": 54,
      "confidence": 0.29
    }
  ]
}

PR Context

GET /api/repos/:org/:repo/pr/:number

Returns graph intelligence for a pull request: per-file churn, centrality, co-changes, linked issues, and files that frequently change alongside the PR's changed files but are not included in the PR.

Response:

{
  "pr": {
    "number": 1234,
    "title": "feat: add retry logic to browser launch",
    "state": "open",
    "author": "octocat",
    "headRef": "feat/retry-launch",
    "baseRef": "main",
    "createdAt": "2026-02-18T10:30:00.000Z",
    "mergedAt": null,
    "htmlUrl": "https://github.com/microsoft/playwright/pull/1234"
  },
  "files": [
    {
      "path": "packages/playwright-core/src/server/browserType.ts",
      "status": "modified",
      "prAdditions": 42,
      "prDeletions": 8,
      "commitCount": 15,
      "additionsTotal": 1200,
      "deletionsTotal": 400,
      "centrality": 0.025,
      "pagerank": 0.0038,
      "community": "browser-server",
      "coChanges": [
        {
          "path": "packages/playwright-core/src/server/browser.ts",
          "count": 12,
          "confidence": 0.35
        }
      ],
      "linkedIssues": [
        {
          "number": 27800,
          "title": "Browser launch timeout not configurable",
          "state": "closed",
          "labels": ["enhancement"],
          "htmlUrl": "https://github.com/microsoft/playwright/issues/27800"
        }
      ]
    }
  ],
  "relatedFiles": [
    {
      "path": "packages/playwright-core/src/server/processLauncher.ts",
      "coChangeCount": 18,
      "community": "browser-server"
    }
  ],
  "summary": {
    "totalFiles": 3
  }
}

Issue Context

GET /api/repos/:org/:repo/issue/:number

Returns graph intelligence for an issue: linked files with their churn and centrality, related files via co-change analysis, and which community clusters are affected.

Response:

{
  "issue": {
    "number": 28412,
    "title": "BrowserContext.close() hangs when page has open dialog",
    "state": "open",
    "labels": ["bug", "browser-context"],
    "createdAt": "2026-01-15T08:00:00.000Z",
    "closedAt": null,
    "htmlUrl": "https://github.com/microsoft/playwright/issues/28412"
  },
  "linkedFiles": [
    {
      "path": "packages/playwright-core/src/server/browserContext.ts",
      "commitCount": 187,
      "recentCommitCount": 23,
      "additionsTotal": 4520,
      "deletionsTotal": 2100,
      "centrality": 0.031,
      "pagerank": 0.0042,
      "community": "browser-server"
    }
  ],
  "relatedFiles": [
    {
      "path": "packages/playwright-core/src/server/dialog.ts",
      "coChangeCount": 8,
      "community": "browser-server"
    }
  ],
  "touchedClusters": [
    {
      "name": "browser-server",
      "filesLinked": 3
    }
  ],
  "summary": {
    "totalLinkedFiles": 3,
    "clustersAffected": 1
  }
}