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, notjava.io.File.nio.Pathintegrates with EEL under the hood — NIO file operations are transparently routed through EEL file system providers, soFiles.readString(path),Files.walk(path), etc. work correctly in remote environments (WSL, Docker) without any extra code.java.io.Filehas JBR compatibility patches butnio.Pathis the proper API. - Use
EelApi.execfor process execution, notProcessBuilder. This ensures processes run in the correct environment. - Use
EelPlatformfor OS detection, notSystemInfo.SystemInforeflects the IDE host machine, not the target environment. localEelis 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()