Skip to content

Scoring ​

GHS uses a modular, tiered scoring system to measure repository health.

Modules ​

ModuleChecksMax PointsWeight (with lang module)Weight (solo)
Core40 scored + 3 INFO7460%100%
.NET20 scored + 3 INFO3440%---

Point Values ​

TierPointsDescription
Tier 14Required --- fundamental quality
Tier 22Recommended --- professional standards
Tier 31Nice to Have --- polish and completeness

Core Module Maximum ​

TierChecksPoints EachSubtotal
Tier 14416
Tier 222244
Tier 314114
Total4074

.NET Module Maximum ​

TierChecksPoints EachSubtotal
Tier 1248
Tier 28216
Tier 310110
Total2034

Calculation ​

Scores are computed by querying GitHub Project items via jq pipelines — no local files or Python scripts are involved. See the GitHub Projects Format reference for the full jq queries.

Single module (core only) ​

score = earned_points / possible_points x 100

Multiple modules (core + language) ​

Each module is scored independently, then combined:

core_pct = core_earned / core_possible x 100
lang_pct = lang_earned / lang_possible x 100
combined = round(core_pct x 0.6 + lang_pct x 0.4)

All percentages rounded to the nearest integer.

Special Rules ​

WARN Exclusion ​

If a check returns WARN (cannot verify), it is excluded from both earned AND possible totals. This prevents penalizing repos for checks that can't be verified (e.g., permission issues). WARN items are never added to the GitHub Project, so they are automatically excluded from all jq scoring queries.

INFO Exclusion ​

INFO checks carry no points and are purely informational:

Core: Funding, Discussions Enabled, Commit Signoff

.NET: Target Framework, Package Count, Build System

Module Priority ​

When recommending next actions, core module items take priority over language module items at the same tier and point value.

Progress Bar ​

Scores are visualized with an 8-character progress bar:

Score: 52/74 (70%) ██████░░

Characters: filled with █ and empty with ░. Filled = round(percentage / 100 x 8).

Score Interpretation ​

RangeMeaning
90-100%Excellent --- repo follows best practices
70-89%Good --- some improvements available
50-69%Fair --- notable gaps in repo quality
Below 50%Needs attention --- fundamental issues

Released under the MIT License.