CM4Git is a visual dashboard for GitHub repository KPIs. It includes a library of prebuilt charts for software project insights.
Avg PR Merge Time: Average days from PR creation to merge. Measures review velocity and responsiveness.
Avg Time to Close Issues: Average days to close issues, reflecting support efficiency and backlog health.
Branch Activity: Active vs. stale branches (30+ days inactive), plus detailed audit tables.
Branch Divergence: Ahead/behind commit counts vs. main, preventing dangerous drift.
Branches by Type: Branch categorization (feature, bugfix, hotfix, etc.).
Code Churn (Files Changed): Tracks iteration rate and potential instability.
Commits Over Time & By Contributor: Visualizes team effort and distribution.
Comments Over Time: Highlights collaboration trends.
Inactive Issues: Shows potential technical debt and neglected backlog.
Issues Over Time & New vs Closed: Measures stability, demand, and responsiveness.
Lead Time for Changes: Complete delivery duration (commit to production).
Lines Added vs Deleted: Growth, refactoring, and activity trends.
Most Active Days & Most Changed Files: Identifies productivity bursts and fragile areas.
Open vs Closed PRs & PR Rejection Rate: Reveals bottlenecks and rework levels.
Release Frequency: Deployment cadence and CI/CD health.
First Response on Issues: Community or internal support responsiveness.
Open Issues by Label: Backlog composition by type.
Security Vulnerabilities: Active Dependabot alerts for security hygiene.
Workflow Success Rate: Stability of CI/CD pipelines.
Hotfix Frequency: Stability signals and urgency trends.
Avg Branch Lifetime: Duration before merge or inactivity.
New Contributors: Growth and onboarding effectiveness.
Stars & Forks Over Time: Community interest and adoption trends.
File Ownership Hotspots: Shared file modification intensity.
PR Approval vs Changes Requested: Code quality and review strictness indicator.
Comment-to-Code Ratio: Collaboration depth vs. code churn.
GitHub limits anonymous API requests. To prevent errors and access more data, generate a token. No special permissions are needed β use it in each chart config.
flutter/flutter
)
All data is stored in your browserβs localStorage
. Nothing is uploaded. You can import/export your box layout using the buttons above. And everything stored, or downloaded is obfuscated to protect your token.
Jeff Heisler
jrheisler@yahoo.com