← all organisations

CJSCommonPlatform / Code

18 languages, 18.6 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

18
languages in use
18.6 MB of source
10.9k
files at HEAD
across every analysed repository
0 B
on disk as mirrors
full history, every branch and tag
60.9 MB
largest repository
json-schema-catalog

What stands out

One archived repository holds 35% of all the bytes.

json-schema-catalog is 60.9 MB of git - a 2013 static snapshot of www.gov.uk, not source code. It single-handedly makes HTML the largest language by volume (17% 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 3% 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.

80% 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.

JavaJava: 8.1 MB8.1 MBJavaScriptJavaScript: 3.6 MB3.6 MBHTMLHTML: 3.2 MB3.2 MBTypeScriptTypeScript: 1.7 MB1.7 MBPythonPython: 1.1 MB1.1 MBCSSCSS: 771.3 kB771.3 kBGoGo: 46.1 kB46.1 kBRAMLRAML: 44.8 kB44.8 kBRubyRuby: 37.3 kB37.3 kBShellShell: 19.8 kB19.8 kBXSLTXSLT: 14.5 kB14.5 kBPowerShellPowerShell: 11.3 kB11.3 kBGherkinGherkin: 4.3 kB4.3 kBScalaScala: 2.4 kB2.4 kB

By number of repositories

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

JavaJava: 4141JavaScriptJavaScript: 1616ShellShell: 1515HTMLHTML: 1313CSSCSS: 1212RAMLRAML: 1010TypeScriptTypeScript: 88RubyRuby: 33PythonPython: 22GoGo: 22PowerShellPowerShell: 11GherkinGherkin: 11PHPPHP: 11C++C++: 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

JavaJava: 00JavaScriptJavaScript: 00TypeScriptTypeScript: 00HTMLHTML: 00RubyRuby: 00PythonPython: 00CSSCSS: 00GoGo: 00PowerShellPowerShell: 00ShellShell: 00

Archived repositories

JavaJava: 3939JavaScriptJavaScript: 1010TypeScriptTypeScript: 44HTMLHTML: 33RubyRuby: 22PythonPython: 22CSSCSS: 22GoGo: 22PowerShellPowerShell: 11ShellShell: 11

Scale

Repository size distribution

Git data per repository, log-ish buckets.

28211470< 10 kB: 10< 10 kB< 100 kB: 28< 100 kB< 1 MB: 25< 1 MB< 10 MB: 12< 10 MB< 100 MB: 4< 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.

2.6k544.2114.023.95.0210.959.2322.01.8kRamLocker: 16 commits, 15 files, 1 authorsannotation-validator-maven-plugin: 20 commits, 33 files, 6 authorsansible-role-facts: 8 commits, 20 files, 2 authorsartemis-failure-test: 12 commits, 9 files, 4 authorsartemis-manager: 90 commits, 94 files, 15 authorsclamavmirror: 9 commits, 7 files, 2 authorsdependency-mapper: 93 commits, 132 files, 14 authorsdependency-mapper-ui: 140 commits, 96 files, 13 authorsdomain-test-dsl: 44 commits, 74 files, 19 authorsembedded-artemis: 27 commits, 14 files, 7 authorsfile-service: 199 commits, 70 files, 24 authorsfile-service-alfresco: 25 commits, 29 files, 9 authorsfile-service-spike: 26 commits, 26 files, 5 authorsfluentd4log4j: 20 commits, 12 files, 4 authorsframework-api: 614 commits, 221 files, 33 authorsframework-domain: 192 commits, 16 files, 25 authorsframework-generators: 1,110 commits, 523 files, 38 authorsframework-jmx-command-client: 130 commits, 46 files, 5 authorsframework-tools: 222 commits, 79 files, 27 authorsgenerator-maven-plugin: 244 commits, 142 files, 28 authorsgovuk_angularjs_boilerplate: 17 commits, 2 files, 2 authorsgovuk_angularjs_components: 9 commits, 2 files, 4 authorsgovuk_bootstrap: 16 commits, 319 files, 3 authorsgovuk_platform_configurator: 5 commits, 250 files, 2 authorsgovuk_single_page_pdk: 986 commits, 650 files, 50 authorsgovuk_universal_boilerplate: 10 commits, 24 files, 4 authorsgovuk_universal_starter: 9 commits, 78 files, 3 authorsjboss-logmanager-ext: 30 commits, 19 files, 4 authorsjenkins-job-builder: 2,441 commits, 1,752 files, 280 authorsjob-manager: 152 commits, 91 files, 17 authorsjson-generator: 160 commits, 74 files, 6 authorsjson-schema: 312 commits, 168 files, 17 authorsjson-schema-catalog: 215 commits, 138 files, 16 authorsjson-transformer: 56 commits, 22 files, 10 authorsjsonschema-pojo-generator: 368 commits, 315 files, 22 authorslog-search: 13 commits, 16 files, 2 authorsmaven-common: 80 commits, 6 files, 13 authorsmaven-test-utils: 11 commits, 7 files, 2 authorsmetrics: 178 commits, 22 files, 13 authorsmetrics-agent: 55 commits, 45 files, 8 authorsmicroservice_framework_version_6: 2,598 commits, 605 files, 81 authorsngGovUk: 247 commits, 3 files, 25 authorsngSkeletonApp: 72 commits, 100 files, 8 authorsngSmoothScroll: 59 commits, 4 files, 17 authorsnode-geckodriver: 71 commits, 15 files, 11 authorsonline-plea: 687 commits, 508 files, 9 authorspdk2-docs: 28 commits, 11 files, 5 authorsperformance-test-utils: 77 commits, 23 files, 7 authorsprotractor: 1,804 commits, 455 files, 307 authorsraml-maven: 167 commits, 116 files, 25 authorsraml-mocker-server: 17 commits, 15 files, 5 authorsserver-maven-plugin: 17 commits, 9 files, 4 authorssonar-gerrit-plugin: 177 commits, 42 files, 14 authorsstream-transformation-tool: 210 commits, 173 files, 22 authorsstyleguide: 6 commits, 3 files, 3 authorsterraform-provider-windows-dns: 9 commits, 995 files, 1 authorstest-utils: 212 commits, 159 files, 30 authorstravis-settings: 64 commits, 14 files, 15 authorsutilities: 184 commits, 127 files, 23 authorsvagrant-persistent-storage: 119 commits, 24 files, 21 authorswebdriver-manager: 194 commits, 77 files, 27 authorswildfly-maven-plugin: 295 commits, 97 files, 30 authorswinrm-dns-client: 21 commits, 499 files, 2 authorswiremock: 1,271 commits, 762 files, 82 authorszone.js: 756 commits, 288 files, 99 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

srcsrc: 2525testtest: 66liblib: 66binbin: 44gulpgulp: 44distdist: 33docsdocs: 33exampleexample: 33toolstools: 22file-service-liquibasefile-service-liquibase: 22.mvn.mvn: 22aggregateaggregate: 22io-utilsio-utils: 22raml-parserraml-parser: 22raml-generator-for-testingraml-generator-for-testing: 22i18ni18n: 22e2ee2e: 22configconfig: 22

Most common file extensions

By total file count across the estate.

.java.java: 3k3k.go.go: 1.2k1.2k.xml.xml: 1.1k1.1k.yaml.yaml: 822822.png.png: 755755.js.js: 733733.json.json: 583583.ts.ts: 576576.scss.scss: 446446.html.html: 290290.md.md: 255255.py.py: 116116.raml.raml: 9090.yml.yml: 6363.sh.sh: 4545.s.s: 4444

The twenty largest repositories

RepositoryLanguageGit size CommitsFilesStatus
json-schema-catalogJava60.9 MB215138archived
generator-maven-pluginJava16.8 MB244142archived
raml-mavenJava16.7 MB167116archived
microservice_framework_version_6Java12.5 MB2,598605archived
wiremockJavaScript9.9 MB1,271762archived
protractorJavaScript8.7 MB1,804455archived
terraform-provider-windows-dnsGo6.6 MB9995archived
jenkins-job-builderPython6.4 MB2,4411,752archived
govuk_single_page_pdkHTML6.3 MB986650archived
ngGovUk-5.5 MB2473archived
zone.jsTypeScript3.6 MB756288archived
framework-generatorsJava2.3 MB1,110523archived
govuk_bootstrapCSS2.2 MB16319archived
pdk2-docsHTML1.8 MB2811archived
online-pleaJavaScript1.6 MB687508archived
winrm-dns-clientGo1.3 MB21499archived
jsonschema-pojo-generatorJava952.3 kB368315archived
json-schemaJava837.6 kB312168archived
utilitiesJava784.4 kB184127archived
govuk_platform_configuratorCSS768.0 kB5250archived