JetBrains/kotlin
By the numbers
Data collected on 2026-04-30 (HEAD 41c53726711a on master).
Size
The repository is one of the larger active Kotlin codebases in the open-source world. Kotlin sources dominate, with significant Java (much of it inherited from the IntelliJ ecosystem) and a substantial C/C++ runtime under kotlin-native/.
xychart-beta horizontal
title "Lines of code by language"
x-axis ["kt", "java", "h", "kts", "swift", "cpp", "c", "ts", "js"]
y-axis "Lines (thousands)" 0 --> 4000
bar [3452, 868, 70, 65, 58, 37, 13, 12, 6]| Language | Files | Lines (approx) |
|---|---|---|
Kotlin (.kt) |
~62,000 | ~3,450,000 |
Kotlin script (.kts) |
~2,500 | ~65,000 |
| Java | ~4,100 | ~870,000 |
C++ headers (.h) |
~540 | ~70,000 |
| Swift | ~300 | ~58,000 |
| C++ | ~200 | ~37,000 |
| C | ~40 | ~13,000 |
| TypeScript | ~150 | ~12,000 |
| JavaScript | ~290 | ~6,000 |
Files with at least one TODO, FIXME, or HACK comment in .kt sources: ~3,150.
File counts by top-level directory (Kotlin + Java)
| Directory | .kt + .java files |
|---|---|
compiler/ |
~38,200 |
analysis/ |
~10,400 |
libraries/ |
~5,600 |
js/ |
~3,500 |
plugins/ |
~2,500 |
native/ |
~2,300 |
jps/ |
~1,700 |
kotlin-native/ |
~770 |
core/ |
~760 |
Note: compiler/ includes a very large testData/ directory with thousands of small .kt files used as compiler test inputs.
Activity
The project has 17+ years of git history (first commit Oct 2008) and over 136,000 commits. Annual commit volume since 2010:
| Year | Commits |
|---|---|
| 2010 | 100 |
| 2011 | 2,575 |
| 2012 | 6,615 |
| 2013 | 4,628 |
| 2014 | 6,226 |
| 2015 | 9,857 |
| 2016 | 8,835 |
| 2017 | 9,578 |
| 2018 | 9,320 |
| 2019 | 10,252 |
| 2020 | 13,008 |
| 2021 | 10,796 |
| 2022 | 7,448 |
| 2023 | 10,440 |
| 2024 | 11,268 |
| 2025 | 11,486 |
| 2026 | 4,198 (partial year) |
Commit volume has been remarkably steady around 10,000/year for the past five years, with a peak in 2020.
Churn hotspots (last 90 days)
The most-modified files in the trailing 90 days. Many are generated artifacts (compiler-arguments JSON, KGP API files, BTAPI implementation classes) — they show up because the build emits them on every change to their generators.
| Modifications | File |
|---|---|
| 92 | compiler/arguments/resources/kotlin-compiler-arguments.json |
| 56 | libraries/tools/kotlin-gradle-plugin/api/all/kotlin-gradle-plugin.api |
| 54 | compiler/build-tools/kotlin-build-tools-api/src/main/kotlin/org/jetbrains/kotlin/buildtools/api/internal/wrappers/KotlinWrapperPre2_4_0.kt |
| 53 | gradle/verification-metadata.xml |
| 47 | compiler/build-tools/kotlin-build-tools-impl/gen/.../JvmCompilerArgumentsImpl.kt |
| 45 | repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/common-configuration.gradle.kts |
| 43 | analysis/analysis-api-fir/src/.../KaFirResolver.kt |
| 40 | compiler/arguments/src/.../JvmCompilerArguments.kt |
| 40 | analysis/analysis-api-fir/gen/.../KaFirDataClassConverters.kt |
| 38 | compiler/fir/checkers/src/.../FirErrorsDefaultMessages.kt |
| 38 | analysis/analysis-api-fir/gen/.../KaFirDiagnosticsImpl.kt |
| 35 | compiler/fir/checkers/checkers-component-generator/src/.../FirDiagnosticsList.kt |
| 33 | analysis/analysis-api-impl-base/src/.../KaBaseResolver.kt |
The pattern is clear: the K2 frontend's diagnostic surface, the Build Tools API, and the Kotlin Gradle Plugin's public API see continuous evolution. The Analysis API's FIR resolver is also under active development.
Bot-attributed commits
Of the ~11,800 commits on master over the past year, only ~20 carry a bot signature in the author or co-author trailers (e.g., dependabot[bot], factory-droid[bot], github-actions[bot]). This is a lower bound — inline AI-assistance tools that don't write commit metadata are not counted, and JetBrains' internal CI pipelines tend to commit under regular author names. The repository's primary code-review path is GitHub PRs and JetBrains Space MRs, both of which are human-driven.
Test data weight
A large fraction of the compiler/ and analysis/ directories is testData/ — small Kotlin source snippets used as inputs for code-generation, diagnostic, and IR tests. The exact count varies because many are generated, but the bulk of the ~38,000 .kt/.java files in compiler/ are testdata, not production sources.
Bus factor signals
Commit data on master for the past year shows the workload is not concentrated on a single individual. The top-15 contributors of the past year (by commit count, excluding bots) range from ~970 to ~200 commits, indicating a sizeable core team across frontend, IR, native, libraries, and tooling areas. See maintainers.md for a per-subsystem map.
Dependencies
Dependency hashes are pinned in gradle/verification-metadata.xml (53 modifications in the last 90 days). The Kotlin compiler itself is bootstrapped from a previously released Kotlin (-dev snapshot or stable release), pinned via gradle.properties. The Native backend additionally vendors LLVM and a small set of native libraries under kotlin-native/dependencies/.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.