Skip to content

Check Registry ​

GHS uses a modular check system with a core module (always active) and language-specific modules that activate based on stack detection. Currently 63 health checks across 2 modules.

Modules ​

ModuleChecksMax PointsActivation
Core40 scored + 3 INFO74Always active
.NET20 scored + 3 INFO34.sln detected in repo root

When a language module is active, scores are combined with weighted averaging:

Combined = core_pct x 60% + language_pct x 40%

If no language module is active, the core score is used at 100% weight.

Core Checks ​

40 checks across 7 categories covering universal repository best practices.

Scoring ​

TierChecksPoints EachSubtotal
Tier 1 — Required4416
Tier 2 — Recommended22244
Tier 3 — Nice to Have14 scored + 3 INFO114
Total40 scored74

All Core Checks ​

#CheckSlugTierCategoryPoints
1README existsreadme1Documentation4
2LICENSE existslicense1Documentation4
3Repository description setdescription1Repo Settings4
4Branch protection enabledbranch-protection1Repo Settings4
5.gitignore existsgitignore2Dev Config2
6CI/CD workflows presentci-cd-workflows2CI/CD2
7CI workflow healthci-workflow-health2CI/CD2
8Action version pinningaction-version-pinning2CI/CD2
9Workflow permissionsworkflow-permissions2CI/CD2
10.editorconfig existseditorconfig2Dev Config2
11CODEOWNERS existscodeowners2Dev Config2
12Issue templates configuredissue-templates2Community2
13PR template existspr-template2Community2
14Repository topics settopics2Repo Settings2
15CHANGELOG existschangelog2Documentation2
16Delete branch on mergedelete-branch-on-merge2Repo Settings2
17GitHub releases presentgithub-releases2Maintenance2
18No stale issuesstale-issues2Maintenance2
19No stale PRsstale-prs2Maintenance2
20No stale branchesstale-branches2Maintenance2
21Merge strategy configuredmerge-strategy2Repo Settings2
22README has descriptionreadme-description2Documentation2
23README has badgesreadme-badges2Documentation2
24README has installationreadme-installation2Documentation2
25README has usage sectionreadme-usage2Documentation2
26README has features sectionreadme-features2Documentation2
27Workflow namingworkflow-naming3CI/CD1
28Workflow timeoutsworkflow-timeouts3CI/CD1
29Workflow concurrencyworkflow-concurrency3CI/CD1
30SECURITY.md existssecurity-md3Community1
31CONTRIBUTING.md existscontributing-md3Documentation1
32Security alerts enabledsecurity-alerts3Security1
33.editorconfig drifteditorconfig-drift3Dev Config1
34Code of conductcode-of-conduct3Documentation1
35Homepage URL sethomepage-url3Repo Settings1
36.gitattributes existsgitattributes3Dev Config1
37Version pinningversion-pinning3Dev Config1
38Dependency update configdependency-update-config3Security1
39README has table of contentsreadme-toc3Documentation1
40README mentions licensereadme-license-mention3Documentation1
41FUNDING.yml existsfunding3DocumentationINFO
42Discussions enableddiscussions-enabled3Repo SettingsINFO
43Commit signoff requiredcommit-signoff3Repo SettingsINFO

By Category ​

CategoryChecksDescription
Documentation13README, LICENSE, CHANGELOG, CONTRIBUTING, code of conduct, funding, and README content quality
Repo Settings8Description, branch protection, topics, delete-branch-on-merge, merge strategy, homepage URL, discussions, commit signoff
Dev Config6.gitignore, .editorconfig, CODEOWNERS, .editorconfig drift, .gitattributes, version pinning
CI/CD7Workflow presence, health, version pinning, permissions, naming, timeouts, concurrency
Community3Issue templates, PR template, SECURITY.md
Security2Security alerts, dependency update config
Maintenance4GitHub releases, stale issues, stale PRs, stale branches

.NET Module Checks ​

23 checks across 4 categories for .NET-specific best practices. Activates when a .sln file is detected in the repository root.

Scoring ​

TierChecksPoints EachSubtotal
Tier 1 — Required248
Tier 2 — Recommended8216
Tier 3 — Nice to Have10 scored + 3 INFO110
Total20 scored34

All .NET Checks ​

#CheckSlugTierCategoryPoints
1Directory.Build.propsdotnet-build-props1Build Config4
2Test Project Existsdotnet-tests-exist1Testing4
3Nullable Reference Typesdotnet-nullable2Code Quality2
4global.json SDK Pinningdotnet-global-json2Build Config2
5Code Coveragedotnet-code-coverage2Testing2
6Central Package Managementdotnet-central-packages2Build Config2
7XML Documentationdotnet-xml-docs2Code Quality2
8NuGet Metadatadotnet-nuget-metadata2Packaging2
9Solution Structuredotnet-solution-structure2Build Config2
10Implicit Usingsdotnet-implicit-usings2Code Quality2
11TreatWarningsAsErrorsdotnet-warnings-as-errors3Code Quality1
12Deterministic Buildsdotnet-deterministic3Build Config1
13SourceLinkdotnet-sourcelink3Packaging1
14Analyzers Configureddotnet-analyzers3Code Quality1
15AnalysisLeveldotnet-analysis-level3Code Quality1
16Benchmark Projectdotnet-benchmarks3Testing1
17dotnet-tools.jsondotnet-local-tools3Build Config1
18AOT Readydotnet-aot-ready3Packaging1
19InternalsVisibleTodotnet-internals-visible3Testing1
20Multi-Targetingdotnet-multi-target3Packaging1
21Target Frameworkdotnet-target-framework3Build ConfigINFO
22Package Countdotnet-package-count3PackagingINFO
23Build Systemdotnet-build-system3Build ConfigINFO

By Category ​

CategoryChecksDescription
Build Config8Directory.Build.props, global.json, Central Package Management, solution structure, deterministic builds, local tools, target framework, build system
Code Quality6Nullable, implicit usings, XML docs, warnings-as-errors, analyzers, analysis level
Testing4Test projects, code coverage, benchmarks, InternalsVisibleTo
Packaging5NuGet metadata, SourceLink, AOT, multi-targeting, package count

Tier Deep Dives ​

Core Module ​

.NET Module ​

Released under the MIT License.