explaingit

jetbrains/intellij-community

20,091JavaAudience · developerComplexity · 5/5Setup · hard

TLDR

The open-source codebase behind IntelliJ IDEA and the IntelliJ Platform, the shared foundation for PyCharm, WebStorm, and other JetBrains IDEs, used for plugin development and IDE contributions.

Mindmap

mindmap
  root((IntelliJ Community))
    What it is
      IntelliJ IDEA source
      IntelliJ Platform base
      Plugin dev reference
    IDEs built on it
      PyCharm
      WebStorm
      Other JetBrains IDEs
    Audience
      Plugin developers
      IDE contributors
      Architecture students
    Build requirements
      Java and Kotlin
      JetBrains Runtime JDK
      8GB RAM minimum
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build a plugin for IntelliJ IDEA, PyCharm, or WebStorm using this repository as the platform dependency and reference.

USE CASE 2

Study how a large-scale Java IDE handles code completion, refactoring, and file indexing by reading the actual source.

USE CASE 3

Contribute bug fixes to IntelliJ IDEA by building from source, making changes, and submitting a patch.

USE CASE 4

Create a custom IDE variant on top of the IntelliJ Platform for a specialized programming language or workflow.

Tech stack

JavaKotlin

Getting it running

Difficulty · hard Time to first run · 1day+

Requires IntelliJ IDEA itself to build, a custom JetBrains Runtime JDK, 8GB RAM, and a separate Android module pull step.

License information was not specified in the description.

In plain English

This is the open-source portion of the codebase behind IntelliJ IDEA, JetBrains' popular Java IDE (Integrated Development Environment), and the IntelliJ Platform on which most other JetBrains IDEs are built, including PyCharm for Python, WebStorm for JavaScript, and others. The repository contains the actual source code that JetBrains develops in the open. The IntelliJ Platform is the shared foundation that powers all JetBrains IDEs. Plugin developers use this codebase as a reference and dependency when building extensions for any JetBrains IDE. If you've used IntelliJ IDEA, PyCharm, or a similar tool, the code in this repository is much of what runs when you type code, see autocomplete suggestions, or click a refactor menu. Building from source requires cloning this repository, running a script to pull additional Android-specific modules from separate repositories, opening the project in IntelliJ IDEA itself (you need the IDE to build the IDE), configuring a JetBrains Runtime JDK, and having at least 8GB of RAM. Docker-based builds are also supported. The build system produces installable packages for the current OS. You would interact with this repository if you are developing a plugin for a JetBrains IDE, studying how a large-scale Java IDE is architected, contributing bug fixes to IntelliJ IDEA directly, or building a custom IDE variant on top of the IntelliJ Platform. It is primarily written in Java, with significant Kotlin code.

Copy-paste prompts

Prompt 1
I am building my first IntelliJ plugin. Walk me through the intellij-community project structure and which modules I need to understand to add a custom code inspection.
Prompt 2
Help me set up a plugin development project targeting the IntelliJ platform from the community repo with the correct JetBrains Runtime JDK configuration.
Prompt 3
Show me where IntelliJ IDEA code completion logic lives in intellij-community and explain how lookup element ranking works.
Prompt 4
I want to contribute a bug fix to IntelliJ IDEA. Walk me through building the project from source on macOS including the Android module pull step.
Prompt 5
What is the minimum Java and Kotlin knowledge needed to start writing a useful IntelliJ plugin using the intellij-community APIs?
Open on GitHub → Explain another repo

← jetbrains on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.