Every organisation is harvested by the same pipeline and scored on the same conventions, measured from the file tree at HEAD of its live repositories. Archived repositories are excluded from scoring, and organisations with fewer than 10 live repositories are excluded from the league table entirely — a percentage over three repositories tells you nothing.
The estate
What stands out
Out of 40,283 resolved identities — 10.7%. Identity is resolved on GitHub's numeric account id where the commit carries one, and on exact email match otherwise; display names are never used, because a false merge would attribute one person's work to another. This is a floor, not a count: anyone who changed both employer and GitHub account appears twice.
Their repositories are still public and still counted, because a body that closed still published everything it published — but they are left out of every best-and-worst comparison on this page. SkillsFundingAgency replaced by Education and Skills Funding Agency (2017); NHSDigital merged into NHS England (2023); Crown-Commercial-Service renamed Government Commercial Agency (2026); govuk-paas GOV.UK PaaS, retired; openregister GDS Registers, retired; nhsx folded into NHS England; Health-Education-England merged into NHS England (2023); decc merged into Department for Business, Energy & Industrial Strategy (2016). Status comes from the GOV.UK organisations register wherever the body is on it, and otherwise from a short curated list of closed programmes that were never organisations in their own right. Never from how quiet a repository has gone — that is reported separately, as dormancy.
Mean of 67 across 8 ordinary engineering practices. These are generic measures - CI, dependency automation, a licence, tests - not GOV.UK house style, so an organisation that has never read the GOV.UK manual is still judged on its own terms.
In-repository CI ranges from 92% (westminster-city-council) to 0% (LambethCouncil). But LambethCouncil also carries READMEs in 90% of live repositories, licences in 40% and test directories in 20% - not the profile of an immature organisation. It builds on an internal platform rather than in GitHub, so the pipeline simply is not in these repositories. This scorecard measures visible practice, and that is a real limit on what it can conclude.
Dependency bots dominate. This is the clearest sign that dependency automation has become normal across UK public-sector engineering, whatever else varies between organisations.
League table
Percentage of live repositories meeting each convention. Green at or above 75, amber at or above 40, red below.
| Organisation | Live repos | CI (GitHub Actions) | Dependency automation | README | Licence | Containerised | Tests present | CODEOWNERS | PR template | Mean |
|---|---|---|---|---|---|---|---|---|---|---|
| govuk-one-login Other public body | 158 | 83 | 74 | 99 | 76 | 39 | 22 | 82 | 61 | 67 |
| uktrade Other public body | 19 | 84 | 26 | 100 | 84 | 26 | 58 | 89 | 58 | 66 |
| datasciencecampus Other public body | 13 | 62 | 46 | 100 | 100 | 0 | 46 | 92 | 62 | 63 |
| westminster-city-council Local government | 13 | 92 | 46 | 100 | 100 | 23 | 46 | 38 | 62 | 63 |
| govuk-pay Other public body | 38 | 87 | 84 | 95 | 89 | 53 | 21 | 3 | 26 | 57 |
| ministryofjustice Central government | 1,194 | 84 | 45 | 95 | 85 | 59 | 17 | 41 | 11 | 55 |
| ONSdigital Central government | 453 | 48 | 13 | 98 | 70 | 26 | 25 | 85 | 55 | 53 |
| UKForeignOffice Central government | 14 | 71 | 21 | 100 | 64 | 93 | 64 | 0 | 0 | 52 |
| DEFRA Central government | 1,153 | 70 | 23 | 97 | 78 | 67 | 36 | 8 | 7 | 48 |
| nhsuk Health | 11 | 73 | 55 | 91 | 82 | 0 | 55 | 0 | 27 | 48 |
| NHSDigital abolished Health | 258 | 60 | 30 | 98 | 69 | 25 | 41 | 17 | 27 | 46 |
| Planning-Inspectorate Other public body | 43 | 9 | 51 | 88 | 95 | 56 | 12 | 21 | 35 | 46 |
| hmcts Central government | 1,031 | 57 | 10 | 95 | 70 | 39 | 14 | 45 | 32 | 45 |
| cmagovuk Other public body | 10 | 60 | 30 | 90 | 90 | 30 | 40 | 0 | 20 | 45 |
| LBHackney-IT Local government | 92 | 25 | 2 | 98 | 55 | 60 | 4 | 97 | 8 | 44 |
| i-dot-ai Other public body | 26 | 77 | 8 | 96 | 62 | 31 | 35 | 19 | 19 | 43 |
| NHSLeadership Health | 13 | 54 | 31 | 100 | 54 | 23 | 38 | 38 | 8 | 43 |
| FoodStandardsAgency Other public body | 12 | 50 | 25 | 100 | 92 | 42 | 25 | 8 | 0 | 43 |
| alphagov Central government | 396 | 55 | 34 | 95 | 68 | 32 | 18 | 9 | 20 | 41 |
| LondonBoroughSutton Local government | 10 | 10 | 0 | 100 | 70 | 40 | 50 | 10 | 50 | 41 |
| moj-analytical-services Other public body | 18 | 61 | 17 | 100 | 67 | 0 | 56 | 22 | 6 | 41 |
| TechnologyEnhancedLearning Other public body | 55 | 73 | 27 | 93 | 69 | 4 | 15 | 0 | 47 | 41 |
| dvsa Other public body | 162 | 53 | 3 | 96 | 77 | 10 | 47 | 6 | 33 | 41 |
| HistoricEngland Other public body | 22 | 36 | 5 | 95 | 73 | 55 | 45 | 5 | 9 | 40 |
| govuk-once Other public body | 25 | 64 | 28 | 92 | 32 | 8 | 24 | 40 | 24 | 39 |
| department-for-transport Other public body | 10 | 40 | 20 | 90 | 50 | 0 | 50 | 10 | 50 | 39 |
| co-cddo Other public body | 108 | 57 | 25 | 94 | 63 | 24 | 23 | 16 | 6 | 39 |
| ukhsa-collaboration Health | 132 | 47 | 9 | 98 | 65 | 27 | 28 | 14 | 18 | 38 |
| Health-Education-England abolished Other public body | 67 | 58 | 46 | 90 | 58 | 28 | 4 | 18 | 1 | 38 |
| HMPO Other public body | 26 | 54 | 0 | 81 | 96 | 4 | 62 | 0 | 0 | 37 |
| cabinetoffice Central government | 92 | 47 | 21 | 93 | 62 | 36 | 17 | 9 | 9 | 37 |
| nhsbsa Health | 126 | 25 | 16 | 92 | 88 | 4 | 44 | 2 | 19 | 36 |
| UKHomeOffice-attic dormant Central government | 61 | 0 | 0 | 98 | 44 | 80 | 66 | 0 | 0 | 36 |
| gchq Other public body | 57 | 42 | 12 | 95 | 82 | 33 | 12 | 4 | 7 | 36 |
| MetOffice Other public body | 110 | 42 | 5 | 95 | 90 | 5 | 20 | 10 | 21 | 36 |
| ukaea Other public body | 68 | 46 | 7 | 90 | 74 | 19 | 41 | 1 | 6 | 35 |
| bank-of-england Other public body | 16 | 38 | 0 | 100 | 94 | 0 | 50 | 0 | 0 | 35 |
| UKHO Other public body | 90 | 26 | 14 | 96 | 83 | 7 | 16 | 39 | 1 | 35 |
| hmrc Central government | 1,509 | 0 | 1 | 99 | 98 | 5 | 69 | 0 | 7 | 35 |
| best-practice-and-impact Other public body | 26 | 38 | 0 | 92 | 69 | 4 | 38 | 15 | 19 | 35 |
| nhsx merged Health | 99 | 38 | 1 | 100 | 91 | 9 | 15 | 3 | 19 | 35 |
| communitiesuk Central government | 161 | 48 | 23 | 88 | 51 | 24 | 22 | 4 | 17 | 35 |
| digital-land Other public body | 139 | 50 | 5 | 95 | 76 | 23 | 27 | 0 | 1 | 35 |
| defencedigital Other public body | 44 | 39 | 23 | 93 | 59 | 20 | 14 | 18 | 9 | 34 |
| The-Strategy-Unit Other public body | 131 | 26 | 1 | 94 | 80 | 2 | 15 | 54 | 0 | 34 |
| wmfs Other public body | 117 | 0 | 0 | 99 | 91 | 3 | 76 | 1 | 1 | 34 |
| nationalarchives Central government | 327 | 58 | 20 | 91 | 48 | 19 | 23 | 6 | 2 | 33 |
| dvla Other public body | 41 | 49 | 5 | 95 | 88 | 10 | 7 | 7 | 5 | 33 |
| DFE-Digital Central government | 657 | 39 | 16 | 87 | 65 | 26 | 15 | 6 | 11 | 33 |
| thepensionsregulator Other public body | 21 | 19 | 5 | 81 | 95 | 10 | 29 | 10 | 14 | 33 |
| dhsc-govuk Other public body | 20 | 35 | 5 | 95 | 65 | 25 | 30 | 0 | 5 | 32 |
| Crown-Commercial-Service abolished Other public body | 168 | 42 | 27 | 99 | 38 | 20 | 25 | 0 | 1 | 31 |
| govuk-paas programme closed Other public body | 167 | 20 | 14 | 97 | 73 | 26 | 5 | 0 | 13 | 31 |
| ukgov-equality-hub Other public body | 15 | 87 | 0 | 87 | 40 | 20 | 13 | 0 | 0 | 31 |
| UKHomeOffice Central government | 1,013 | 14 | 5 | 95 | 60 | 44 | 23 | 2 | 3 | 31 |
| nhsbsa-data-analytics Health | 38 | 47 | 0 | 95 | 68 | 0 | 26 | 0 | 8 | 31 |
| companieshouse Central government | 587 | 2 | 5 | 89 | 88 | 36 | 8 | 9 | 6 | 30 |
| UKHomeOfficeForms Central government | 21 | 10 | 5 | 100 | 71 | 10 | 48 | 0 | 0 | 30 |
| stfc Other public body | 207 | 32 | 8 | 92 | 60 | 12 | 21 | 7 | 9 | 30 |
| LandRegistry Central government | 85 | 22 | 9 | 81 | 75 | 34 | 9 | 7 | 1 | 30 |
| Dorset-Council-UK Local government | 15 | 73 | 0 | 80 | 73 | 7 | 0 | 0 | 7 | 30 |
| HDRUK Other public body | 166 | 29 | 4 | 96 | 60 | 25 | 13 | 8 | 5 | 30 |
| CPS-Innovation Other public body | 48 | 50 | 0 | 77 | 77 | 10 | 10 | 6 | 4 | 29 |
| nhsengland Health | 220 | 17 | 1 | 95 | 78 | 2 | 17 | 2 | 20 | 29 |
| crossgovernmentservices dormant Other public body | 49 | 0 | 0 | 86 | 53 | 53 | 35 | 0 | 4 | 29 |
| nwisbeta dormant Other public body | 14 | 21 | 0 | 93 | 57 | 29 | 14 | 0 | 14 | 29 |
| bbc Public corporation | 925 | 13 | 4 | 94 | 63 | 10 | 33 | 3 | 8 | 29 |
| SkillsFundingAgency abolished Other public body | 395 | 2 | 0 | 93 | 86 | 4 | 2 | 41 | 0 | 29 |
| essexcountycouncil Local government | 19 | 26 | 0 | 95 | 58 | 16 | 11 | 5 | 16 | 28 |
| houseofcommonslibrary Other public body | 18 | 0 | 0 | 94 | 78 | 0 | 50 | 0 | 0 | 28 |
| mrc-ide Other public body | 583 | 31 | 0 | 88 | 57 | 10 | 33 | 0 | 1 | 28 |
| InnovateUKGitHub Other public body | 24 | 0 | 0 | 100 | 71 | 25 | 25 | 0 | 0 | 28 |
| NaturalHistoryMuseum Other public body | 178 | 23 | 0 | 91 | 44 | 20 | 23 | 0 | 15 | 27 |
| NHS-Transformation-Unit Health | 26 | 15 | 0 | 100 | 96 | 0 | 4 | 0 | 0 | 27 |
| GreaterLondonAuthority Other public body | 14 | 36 | 0 | 93 | 79 | 7 | 0 | 0 | 0 | 27 |
| intellectual-property-office Other public body | 15 | 0 | 0 | 100 | 87 | 27 | 0 | 0 | 0 | 27 |
| openregister programme closed Other public body | 135 | 0 | 0 | 97 | 64 | 16 | 20 | 0 | 16 | 27 |
| BBCS-PHI Other public body | 45 | 9 | 0 | 100 | 96 | 0 | 7 | 0 | 0 | 26 |
| LandRegistry-Attic dormant Central government | 59 | 0 | 0 | 97 | 46 | 27 | 39 | 0 | 0 | 26 |
| TransportForLondon Other public body | 12 | 92 | 0 | 100 | 8 | 0 | 8 | 0 | 0 | 26 |
| CDU-data-science-team Other public body | 28 | 14 | 0 | 89 | 82 | 0 | 21 | 0 | 0 | 26 |
| NationalCrimeAgency Police & emergency | 15 | 7 | 0 | 100 | 93 | 7 | 0 | 0 | 0 | 26 |
| dwp Central government | 437 | 3 | 0 | 85 | 87 | 16 | 14 | 1 | 0 | 26 |
| Civil-Service-Human-Resources Other public body | 43 | 19 | 0 | 95 | 28 | 47 | 12 | 0 | 0 | 25 |
| DFEAGILEDEVOPS Other public body | 18 | 0 | 0 | 89 | 56 | 28 | 28 | 0 | 0 | 25 |
| NHSE-NDRS Health | 12 | 25 | 0 | 92 | 75 | 0 | 8 | 0 | 0 | 25 |
| gds-operations dormant Other public body | 11 | 0 | 0 | 100 | 82 | 9 | 9 | 0 | 0 | 25 |
| britishlibrary Other public body | 45 | 9 | 2 | 96 | 56 | 0 | 29 | 0 | 4 | 24 |
| DFID abolished Other public body | 12 | 8 | 0 | 100 | 67 | 8 | 8 | 0 | 0 | 24 |
| east-sussex-county-council dormant Local government | 67 | 0 | 0 | 100 | 91 | 0 | 0 | 0 | 0 | 24 |
| MarineScotlandScience Other public body | 10 | 20 | 0 | 90 | 60 | 0 | 20 | 0 | 0 | 24 |
| BHFDSC Other public body | 110 | 1 | 1 | 97 | 90 | 0 | 0 | 0 | 0 | 24 |
| OptiMaL-PSE-Lab Other public body | 34 | 15 | 0 | 97 | 59 | 9 | 9 | 0 | 0 | 24 |
| NHS-digital-website Health | 24 | 29 | 8 | 96 | 29 | 21 | 0 | 4 | 0 | 23 |
| nice-digital Health | 82 | 1 | 0 | 100 | 48 | 16 | 18 | 0 | 1 | 23 |
| smbc-digital Other public body | 73 | 37 | 0 | 95 | 11 | 1 | 10 | 0 | 30 | 23 |
| WCSCourses Other public body | 54 | 4 | 0 | 96 | 80 | 2 | 0 | 0 | 0 | 23 |
| defra-design Central government | 115 | 8 | 3 | 68 | 90 | 9 | 3 | 0 | 0 | 23 |
| ukgovdatascience dormant Other public body | 47 | 2 | 0 | 94 | 38 | 11 | 28 | 0 | 6 | 22 |
| OrdnanceSurvey Other public body | 127 | 6 | 0 | 98 | 53 | 11 | 8 | 0 | 2 | 22 |
| warwickshire Other public body | 25 | 0 | 0 | 92 | 40 | 0 | 44 | 0 | 0 | 22 |
| scottishgovernment Devolved | 24 | 0 | 0 | 83 | 71 | 4 | 17 | 0 | 0 | 22 |
| gds-dead dormant Other public body | 11 | 0 | 0 | 100 | 73 | 0 | 0 | 0 | 0 | 22 |
| ONSBigData Other public body | 38 | 3 | 0 | 92 | 55 | 0 | 16 | 0 | 3 | 21 |
| StatisticsHealthEconomics Other public body | 17 | 18 | 0 | 100 | 18 | 6 | 24 | 0 | 0 | 21 |
| ukparliament Parliament | 155 | 13 | 10 | 83 | 25 | 19 | 13 | 0 | 0 | 20 |
| openglasgow Other public body | 18 | 6 | 0 | 78 | 44 | 11 | 17 | 0 | 0 | 19 |
| BritishMuseum Other public body | 19 | 0 | 0 | 89 | 63 | 0 | 0 | 0 | 0 | 19 |
| LambethCouncil dormant Local government | 10 | 0 | 0 | 90 | 40 | 0 | 20 | 0 | 0 | 19 |
| decc abolished Other public body | 36 | 0 | 0 | 94 | 25 | 14 | 14 | 0 | 0 | 18 |
| CJSCommonPlatform dormant Other public body | 75 | 0 | 0 | 97 | 39 | 0 | 11 | 0 | 0 | 18 |
| datagovuk dormant Other public body | 88 | 0 | 0 | 90 | 28 | 1 | 24 | 0 | 0 | 18 |
| digital-preservation Other public body | 31 | 10 | 10 | 74 | 35 | 6 | 3 | 0 | 0 | 17 |
| jncc Other public body | 59 | 0 | 2 | 93 | 15 | 19 | 7 | 0 | 0 | 17 |
| biglotteryfund abolished Other public body | 15 | 0 | 0 | 87 | 33 | 0 | 13 | 0 | 0 | 17 |
| edinburghcouncil dormant Local government | 11 | 0 | 0 | 100 | 27 | 0 | 0 | 0 | 0 | 16 |
| fsadata dormant Other public body | 130 | 0 | 0 | 100 | 1 | 0 | 0 | 0 | 0 | 13 |
| ONS-OpenData Other public body | 48 | 0 | 0 | 83 | 6 | 2 | 0 | 0 | 0 | 11 |
| NHS-ESR-IAs Health | 35 | 0 | 0 | 9 | 0 | 0 | 0 | 0 | 0 | 1 |
91 organisation(s) with fewer than 10 live repositories are excluded from scoring, because a percentage over three repositories is noise: nhsuk-archive, ukwa, dstl, RoyalBoroughKingston, ukncsc, UK-Export-Finance, InsolvencyService, govuk-forms, OfqualGovUK, NHSE-Talking-Therapies, SCC-Planning, TransportScotland.
It measures what is visible in a public repository. An organisation that runs its builds on an internal Jenkins or an enterprise platform scores zero on CI while being no less rigorous — HMRC is exactly that case, with almost no in-repo workflows but READMEs, licences and tests almost everywhere. The mean column is a summary of observable practice, not a ranking of engineering quality, and it should never be quoted as one.
Scale
Repositories per organisation
Commits per organisation
- Public corporation
- Central government
- Parliament
- Devolved
- Health
- Police & emergency
- Local government
- Other public body
Convention by convention
CI (GitHub Actions)
Dependency automation
README
Licence
Containerised
Tests present
What each organisation is written in
Share of source bytes by language, top ten organisations by size.
Movement between organisations
Reported in aggregate only. Individuals are never named, edges below the suppression threshold are withheld, and no email address appears anywhere on this site — the public-interest case for examining how public bodies build software does not extend to publishing a career history of the people who do it.
How many organisations each person commits to
Counting resolved identities. The overwhelming majority appear in exactly one, which is what makes the minority who do not interesting.
Organisations that share engineers
Edges with fewer than 3 people in common are suppressed: at that size an edge describes individuals rather than a pattern, and this page reports aggregates only. 1496 pair(s) suppressed on that basis.
Head to head
Ministry of Justice vs HM Courts & Tribunals Service
HMCTS is an executive agency of MOJ, so this is the closest thing the dataset has to a controlled comparison: same department, same policies, separate engineering organisations.
| Convention | MOJ | HMCTS | Diff |
|---|---|---|---|
| CI (GitHub Actions) | 84% | 57% | -27 |
| Dependency automation | 45% | 10% | -35 |
| README | 95% | 95% | +0 |
| Licence | 85% | 70% | -15 |
| Containerised | 59% | 39% | -20 |
| Tests present | 17% | 14% | -4 |
| CODEOWNERS | 41% | 45% | +3 |
| PR template | 11% | 32% | +21 |
275 committer identities appear in both organisations — 6% of everyone who has committed to HMCTS. MOJ carries 2,396 repositories against HMCTS's 1,878, but HMCTS has 1.5× the commit volume.