← all organisations

crossgovernmentservices / Code

15 languages, 11.2 MB of source, and what the live estate is written in today.

Language figures come from GitHub's own per-repository byte counts, which measure source rather than a single headline label. File counts and repository sizes come from the mirrors themselves. The two tell different stories, and the difference is the point.

The codebase

15
languages in use
11.2 MB of source
9.1k
files at HEAD
across every analysed repository
0 B
on disk as mirrors
full history, every branch and tag
39.7 MB
largest repository
csl-openlrs-container

What stands out

One archived repository holds 28% of all the bytes.

csl-openlrs-container is 39.7 MB of git - a 2013 static snapshot of www.gov.uk, not source code. It single-handedly makes HTML the largest language by volume (32% of all source bytes). Any size or language statistic that does not exclude it is measuring an archive, not a codebase.

Sizes here are GitHub's reported figures.

This organisation was harvested with blobless partial clones, which fetch every commit and file path but not file contents, so there is no local size to measure against. Checked elsewhere in this dataset against 1,526 fully mirrored repositories, GitHub's reported size is accurate to within about six percent.

Ruby is the house language, but its share is falling.

Ruby is the primary language of 5% of archived repositories but only 0% of live ones. Python, Go, TypeScript and HCL have taken the difference - the signature of a shift from monolithic Rails publishing apps toward data pipelines, infrastructure-as-code and platform tooling.

Most repositories are small; a handful are enormous.

63% of repositories are under a megabyte of git data. The estate is not a monolith - it is a very long tail of small services, gems and prototypes around a few large publishing applications.

Languages, two ways

By volume of source

Bytes of code. Dominated by archived static HTML.

HTMLHTML: 3.6 MB3.6 MBCSSCSS: 3.2 MB3.2 MBJavaScriptJavaScript: 1.5 MB1.5 MBPythonPython: 1.3 MB1.3 MBGoGo: 948.1 kB948.1 kBRubyRuby: 456.4 kB456.4 kBShellShell: 103.3 kB103.3 kBHCLHCL: 31.2 kB31.2 kBMakefileMakefile: 17.2 kB17.2 kBNginxNginx: 6.1 kB6.1 kBGherkinGherkin: 1.5 kB1.5 kBMakoMako: 1.2 kB1.2 kBPLpgSQLPLpgSQL: 713 B713 BPHPPHP: 520 B520 B

By number of repositories

How many repositories name each language as their primary one. A better guide to what engineers actually work in.

ShellShell: 3131HTMLHTML: 2525CSSCSS: 2323JavaScriptJavaScript: 2222PythonPython: 2121RubyRuby: 1010MakefileMakefile: 99HCLHCL: 44MakoMako: 33NginxNginx: 33GoGo: 22PHPPHP: 11PLpgSQLPLpgSQL: 11SQLPLSQLPL: 11

Live estate versus archive

The same language ranking, split by whether the repository is still active. The shift is the clearest signal of technical direction in the whole dataset.

Active repositories

CSSCSS: 00ShellShell: 00PythonPython: 00HTMLHTML: 00HCLHCL: 00GoGo: 00RubyRuby: 00JavaScriptJavaScript: 00

Archived repositories

CSSCSS: 1111ShellShell: 1010PythonPython: 99HTMLHTML: 55HCLHCL: 33GoGo: 22RubyRuby: 22JavaScriptJavaScript: 11

Scale

Repository size distribution

Git data per repository, log-ish buckets.

1511.27.53.80< 10 kB: 8< 10 kB< 100 kB: 10< 100 kB< 1 MB: 13< 1 MB< 10 MB: 15< 10 MB< 100 MB: 3< 100 MB100 MB +: 0100 MB +

Commits against files

Each circle is a repository, sized by number of distinct authors. Both axes are logarithmic. The diagonal band is the normal relationship between codebase size and churn; outliers above it are long-lived apps with heavy iteration, below it are dumps and imports.

3.7k748.8149.830.06.0210.756.9303.81.6kags-static-prototypes: 209 commits, 411 files, 3 authorsags_client_python: 60 commits, 20 files, 5 authorsags_gateway: 320 commits, 96 files, 7 authorsansible-role-jenkins: 48 commits, 23 files, 10 authorsauth0-prototype: 16 commits, 16 files, 1 authorscgt_prototypes: 118 commits, 118 files, 3 authorscleanify: 8 commits, 2 files, 3 authorscsd-identity-products: 57 commits, 57 files, 3 authorscsd-infrastructure: 38 commits, 13 files, 1 authorscsd-notes: 133 commits, 91 files, 3 authorscsd-notes-build: 15 commits, 15 files, 1 authorscsd-notes-config: 25 commits, 8 files, 1 authorscsd-notes-deploy: 30 commits, 10 files, 1 authorscsd-notes-infrastructure: 59 commits, 20 files, 1 authorscsd-tools: 63 commits, 25 files, 1 authorscsdigital-prototype: 832 commits, 725 files, 10 authorscsl-designs: 269 commits, 262 files, 1 authorscsl-learninglocker-lrs-build: 12 commits, 9 files, 3 authorscsl-learningregistry-containers: 6 commits, 52 files, 2 authorscsl-moodle: 8 commits, 6 files, 2 authorscsl-my-learning-plan: 210 commits, 638 files, 4 authorsdev-env: 6 commits, 10 files, 2 authorsdev-env-discovery: 55 commits, 23 files, 4 authorsdex: 611 commits, 1,621 files, 59 authorsgovuk-assets-flask: 21 commits, 9 files, 4 authorshome: 94 commits, 81 files, 5 authorskeycloak-proxy: 279 commits, 645 files, 11 authorslocations: 10 commits, 75 files, 2 authorslrs_stalker: 30 commits, 434 files, 3 authorsmaslow-standalone: 880 commits, 273 files, 31 authorsnotifications-admin: 3,742 commits, 396 files, 36 authorspaas-ss-proto: 193 commits, 125 files, 5 authorspaas-survey: 38 commits, 131 files, 1 authorspeople: 32 commits, 557 files, 2 authorspeoplefinder: 2,631 commits, 508 files, 33 authorsperformance-prototype: 23 commits, 77 files, 1 authorsprofile-prototype: 30 commits, 78 files, 1 authorsprototypes: 325 commits, 832 files, 3 authorssmoketests: 14 commits, 20 files, 2 authorsstalker-build: 11 commits, 5 files, 4 authorssue-my-brother: 143 commits, 81 files, 8 authorsuserstore-prototype: 26 commits, 399 files, 3 authorsxgs-accounts: 25 commits, 12 files, 1 authorsxgs-cookie-cutter: 14 commits, 38 files, 4 authorsfiles at HEAD (log)commits (log)

The shape of a repository

Directory layout is the cheapest reliable signal of what a repository actually is. app/ with config/ and spec/ is a Rails application; src/ with test/ is Java or Node. Counted by how many repositories contain each top-level directory at HEAD.

Most common top-level directories

teststests: 1414liblib: 1313appapp: 1212keyringskeyrings: 1111applicationapplication: 99scriptsscripts: 66configconfig: 66requirementsrequirements: 55vendorvendor: 44publicpublic: 33migrationsmigrations: 33ansibleansible: 33binbin: 33scriptscript: 33dbdb: 33docsdocs: 33examplesexamples: 22templatestemplates: 22

Most common file extensions

By total file count across the estate.

.png.png: 1.9k1.9k.go.go: 1.6k1.6k.html.html: 1.1k1.1k.scss.scss: 841841.js.js: 574574.py.py: 531531.rb.rb: 357357.json.json: 240240.md.md: 213213.yml.yml: 155155.txt.txt: 105105.css.css: 101101.erb.erb: 7676.haml.haml: 6868.sh.sh: 6565.gpg.gpg: 6161

The twenty largest repositories

RepositoryLanguageGit size CommitsFilesStatus
csl-openlrs-container-39.7 MB37archived
notifications-adminPython31.2 MB3,742396archived
csdigital-prototypeCSS16.0 MB832725archived
csl-my-learning-planCSS9.1 MB210638archived
peoplefinderHTML8.9 MB2,631508archived
ags-static-prototypesCSS8.2 MB209411archived
dexGo7.1 MB6111,621archived
prototypesCSS2.5 MB325832archived
csl-designsCSS2.3 MB269262archived
keycloak-proxyGo2.1 MB279645archived
homeHTML1.7 MB9481archived
peopleCSS1.5 MB32557archived
ags_gatewayPython1.5 MB32096archived
maslow-standaloneRuby1.3 MB880273archived
lrs_stalkerCSS1.2 MB30434archived
csd-notesPython1.1 MB13391archived
userstore-prototypeCSS1.1 MB26399archived
locationsCSS1.0 MB1075archived
csd-identity-productsShell997.4 kB5757archived
cgt_prototypesJavaScript543.7 kB118118archived