Skip to content

Project health metrics dashboard for maintainers #64

Description

@anshul23102

Feature Request

Is your feature request related to a problem?

Oss-Dev maintainers have no single view to assess the health of managed projects. Key signals like stale issues, unanswered PRs, and declining commit velocity are spread across GitHub's native views with no aggregation.

Describe the solution you'd like

Build a Project Health Dashboard that tracks per-repository:

  • Open issue count and median age
  • PR merge time (rolling 30-day median)
  • Percentage of issues with a response within 48 hours
  • Commit frequency (last 12 weeks, sparkline chart)
  • Stars and fork growth (week over week)

All metrics are pulled from the GitHub REST API with a 6-hour cache:

def fetch_health_metrics(repo: str, token: str) -> dict:
    headers = {"Authorization": f"Bearer {token}"}
    issues = requests.get(f"https://api.github.com/repos/{repo}/issues?state=open&per_page=100", headers=headers).json()
    prs = requests.get(f"https://api.github.com/repos/{repo}/pulls?state=closed&per_page=50", headers=headers).json()
    return {
        "open_issues": len(issues),
        "median_issue_age_days": median_age(issues),
        "median_pr_merge_days": median_merge_time(prs),
    }

A summary card per repo shows a green/yellow/red status dot based on thresholds configurable in a YAML file.

Describe alternatives you've considered

  • Manual tracking in a spreadsheet (stale immediately, high maintenance)
  • GitHub Insights (per-repo, no cross-project aggregation)

Additional context

Level 3 feature. Dashboard should be available as a static site deployable to GitHub Pages or as a section of the Oss-Dev web app. Authentication via GitHub OAuth for private repos.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions