$ account JetBrains
This repository is the core implementation of the Kotlin programming language, serving as the reference compiler and tooling suite. It encompasses the full compilation pipeline (frontend, IR, backends for JVM, JS, Native, Wasm), the standard library, and build tool integrations (Gradle, Maven). The architecture is modular, separating concerns into compiler logic, analysis APIs for IDEs, and platform-specific backends. Key entry points include the CLI compiler, the Gradle plugin, and the Analysis API used by IDEs like IntelliJ IDEA. The primary data flow involves parsing source code into PSI/FIR, transforming it into IR, and generating target-specific bytecode or executables. It relies on external dependencies such as the Java JDK, LLVM (for Native), and Gradle.
Exposed is a Kotlin SQL ORM library by JetBrains that provides a type-safe DSL for database operations, an optional DAO/entity layer, schema migration tooling, and multi-database support. The architecture is modular: a core module (exposed-core) defines the SQL DSL, column types, expression trees, and vendor dialects; separate modules implement synchronous JDBC (exposed-jdbc) and reactive R2DBC (exposed-r2dbc) backends; the DAO layer (exposed-dao, exposed-dao-r2dbc) adds entity management with caching, relationships, and lifecycle hooks; additional modules provide encryption, JSON, money types, Spring Boot auto-configuration, and Gradle/Maven plugins for migration generation. The library supports H2, MySQL, MariaDB, PostgreSQL, Oracle, SQL Server, SQLite, and Amazon Redshift, with extensive dialect-specific SQL generation and type mapping. Key entry points include Database.connect() for JDBC and R2dbcDatabase.connect() for R2DBC, transaction scopes (transaction {} / suspendTransaction {}), table/column definitions via DSL functions, and entity classes (IntEntity, UuidEntity, etc.) for the DAO pattern. Data flows through a query builder that constructs parameterized SQL statements, which are then executed by backend-specific executables (BlockingExecutable for JDBC, SuspendExecutable for R2DBC). The library also provides statement interceptors for logging and monitoring, and a migration utility that can generate Flyway-compatible scripts from table definitions. External dependencies include JDBC drivers for each supported database, R2DBC drivers, Spring Framework (for the Spring Boot starters and transaction integration), and optional libraries for encryption (AES, BCrypt, Argon2). The build system is Gradle with Kotlin DSL, and the project publishes multiple artifacts to Maven Central. The codebase demonstrates strong engineering practices with extensive cross-database test suites, parameterized tests, and continuous integration across multiple database containers.
The JetBrains MCP Proxy Server is a Node.js application that acts as a middleware between MCP-compatible clients (such as Claude Desktop or VS Code) and JetBrains IDEs equipped with the MCP Server plugin. It discovers the IDE's MCP endpoint by scanning a predefined port range (63342-63352) or using a specified IDE_PORT environment variable, caches the endpoint, and periodically verifies its availability. The proxy then exposes an MCP server over stdio, forwarding tool listing and tool invocation requests to the IDE's HTTP-based MCP endpoint. The implementation uses the Model Context Protocol SDK for stdio communication and node-fetch for HTTP requests, featuring error handling, logging, and endpoint caching with periodic refresh.
This repository is the JetBrains Godot Support plugin, a multi-language IDE extension for IntelliJ IDEA and Rider that provides comprehensive GDScript language intelligence, scene editing, debugging, and project integration for the Godot game engine. It consists of several modules: a Kotlin-based GDScript language plugin with custom lexer/parser, PSI, annotations, inspections, refactoring, formatting, code completion, and LSP client; a C# debugger worker that allows inspecting Godot scenes during debugging with optimized bulk-fetch strategies; a C++ native addon (GDExtension) for bidirectional communication between the IDE and Godot editor; a PHP toolchain to generate SDK metadata from Godot's official XML documentation; and .NET ReSharper components for C# Godot project support. The plugin uses JetBrains' PolySymbols framework for unified symbol resolution and has an extensive test suite covering parsing, type inference, inspections, and debugger integration. While deeply integrated with JetBrains platform APIs and generated code, the debugger worker's child-chunking algorithm and SDK fingerprinting utility are well-crafted, self-contained components that could be reused in other contexts. The codebase is actively maintained with regular commits, but relies on several internal/experimental APIs and snapshot dependencies, posing moderate technical drift risk.
The kotlin-playground repository provides a self-contained web component for embedding interactive Kotlin code editors in websites. It enables users to write, run, and see the output of Kotlin snippets directly in browser environments, supporting multiple target platforms (JVM, JavaScript, WebAssembly, Native) via communication with the Kotlin compiler service. The architecture follows a modular client-side design with clear separation between UI components (CodeMirror-based editor), execution logic, and API communication. Key features include automatic initialization via HTML attributes, configurable themes and compiler versions, extension points for custom event handlers, and iframe-based sandboxing for secure code execution. While dependent on the external kotlinlang.org compiler service, the frontend implementation demonstrates solid engineering practices with reusable patterns for API abstraction, configuration management, and platform-specific execution handling.
The Gradle Changelog Plugin is a library that provides tasks and helper methods for managing changelogs in the 'Keep a Changelog' format. It parses Markdown changelog files to extract versioned sections, supports rendering in multiple formats (Markdown, HTML, plain text), and provides three main Gradle tasks: getChangelog (retrieves changelog for a version), initializeChangelog (creates a new changelog file), and patchChangelog (releases the unreleased section). The plugin features robust handling of various line separators, preservation of inline links in version headers, and flexible configuration for different Git hosting platforms.