eel

Installation
SKILL.md

EEL (Execution Environment Layer) Skill

EEL is a unified API that makes IntelliJ code work transparently across local, WSL, and Docker environments. It replaces scattered WSL checks, java.io.File, System.getenv, ProcessBuilder, and SystemInfo with a single abstraction.

Full documentation: community/platform/eel/docs/ (start with README.md)

Key Rules

  • Use nio.Path, not java.io.File. nio.Path integrates with EEL under the hood — NIO file operations are transparently routed through EEL file system providers, so Files.readString(path), Files.walk(path), etc. work correctly in remote environments (WSL, Docker) without any extra code. java.io.File has JBR compatibility patches but nio.Path is the proper API.
  • Use EelApi.exec for process execution, not ProcessBuilder. This ensures processes run in the correct environment.
  • Use EelPlatform for OS detection, not SystemInfo. SystemInfo reflects the IDE host machine, not the target environment.
  • localEel is a singleton that always represents the IDE host machine (where the IDE process runs). Use it only when you specifically need the local environment. For project-relative work, get the descriptor from the project or path instead.

Getting an EelDescriptor

// From a project (most common)
val descriptor = project.getEelDescriptor()
Installs
1
GitHub Stars
20.4K
First Seen
Jul 30, 2026
eel — jetbrains/intellij-community