Skip to content

About

GitHub widget scoring how likely a repo is to accept a PR

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

🛡️ ForgeScore - GitHub PR Acceptance & Contribution Health Index

"Forges like Github should have a score how likely a repo accepts PRs. Is this a repo that encourages contribution or just public development." — David Soria Parra (Inventor of Model Context Protocol / MCP)


⚡ One-Click Integration for GitHub Repositories

Click the button below to pre-fill and create .github/workflows/forgescore.yml directly in this repository:

Add ForgeScore to this Repo

💡 For any other repository: Replace OWNER/REPO in the URL format below to open a pre-filled workflow file creation page for your repo, or use the interactive web app generator: https://github.com/{OWNER}/{REPO}/new/main?filename=.github/workflows/forgescore.yml


📦 Copy-Paste README Contribution Section

To add the contribution section directly to any project's README.md (containing key metrics without maintainer takeaways), paste the following snippet into your repository's README.md:

<!-- FORGESCORE:START -->
## 🛡️ Contribution Health & PR Acceptance Score

[![ForgeScore](forgescore.svg)](https://github.com/YOUR_ORGANIZATION/YOUR_REPO)

### 📊 Key Contribution Metrics (100 PRs Sample)

| Metric | Value | Status |
| :--- | :--- | :--- |
| **ForgeScore** | **40 / 100 (Grade D)** | Public Dev |
| **External PR Acceptance** | **16%** (15 merged / 94 external PRs) | 🔴 Low Acceptance |
| **Median First Review** | **201 hrs** | ⏳ Slow Response |
| **Member vs External Ratio** | **94% External** (6 member vs 94 community) | 🤝 Community Driven |

---
*Powered by [ForgeScore Action](https://github.com/glassBead-tc/dsp-github-widget) • Inspired by David Soria Parra*
<!-- FORGESCORE:END -->

⚙️ Automated GitHub Action Setup (.github/workflows/forgescore.yml)

Add this workflow file to your repository so GitHub Actions automatically audits your closed PRs, calculates your live score, and updates forgescore.svg and README.md daily:

name: ForgeScore PR Acceptance Index

on:
  schedule:
    - cron: '0 0 * * *' # Recalculates daily at midnight
  workflow_dispatch:     # Trigger manually anytime

jobs:
  update-score:
    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
      - uses: actions/checkout@v4
      
      - name: Calculate ForgeScore & Generate Badge
        run: node scripts/calculate-score.js
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          GITHUB_REPOSITORY: ${{ github.repository }}

      - name: Commit Updated Badge & README Section
        uses: stefanzweifel/git-auto-commit-action@v5
        with:
          commit_message: 'chore: update ForgeScore contribution health badge'

📊 How the Score is Calculated

  1. External PR Acceptance Rate (45%): Percentage of external non-member PRs merged vs closed unmerged.
  2. First Review Velocity (25%): Speed in hours until maintainers provide first code review response.
  3. Review Engagement (15%): Percentage of PRs receiving active maintainer discussion.
  4. Community Volume Ratio (15%): Proportion of total repository PR volume from community contributors.

📜 License

MIT License. Inspired by David Soria Parra's proposal for forge contribution transparency.

About

GitHub widget scoring how likely a repo is to accept a PR

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages