// the find
JetBrains/kotlin
The Kotlin Programming Language.
This is the canonical source for the Kotlin compiler, standard library, and multiplatform toolchain — JVM, JS, Native, and Wasm targets all live here. It's what you build if you're contributing to the language itself, writing a compiler plugin, or working on tooling that needs deep integration with Kotlin internals. Not a library you add as a dependency.
The K2 compiler (FIR-based frontend) is a genuine architectural improvement over the old frontend — analysis sessions are properly scoped and the Analysis API gives tooling authors a stable contract instead of hacking on PSI directly. Multiplatform has matured to the point where sharing business logic between Android, iOS, and desktop is genuinely practical rather than aspirational. The Gradle toolchain integration auto-provisions the right JDK versions, which eliminates a whole class of 'works on my machine' build failures. The codebase has invested heavily in generated code (FIR tree, IR tree, diagnostics) with explicit generators checked into the repo, so the source of truth is clear and drift between spec and implementation is caught at build time.
Building from source is a significant commitment — it pulls down IntelliJ Community Edition as a dependency, and first-time setup on a slow connection will time out without tuning socket timeouts manually. The dependency verification setup (verification-metadata.xml) is a maintenance burden that regularly breaks when dependencies change and requires running a specific Gradle incantation to regenerate, which is not obvious from the error message. Kotlin/Native compilation speed remains a real pain point for end users even if the compiler source itself is clean. The split between the old K1 frontend and K2 means the codebase carries two parallel implementations of many features, and knowing which one you're actually touching requires understanding which analysis session you're in — the directory structure doesn't make this immediately obvious to a new contributor.