PklUnofficial

Tooling

Official Pkl tools, editor integrations, documentation generators, and build integrations.

Tooling

This page is for Pkl users choosing tools around the Apple Pkl ecosystem. It is not a contributor setup page for this documentation site, and it is not a page about downstream implementations.

Use apple/pkl and the official Pkl Tools page as the authority for releases, behavior, and compatibility.

Tool Map

Tool Audience Use it for
pkl CLI everyone evaluating modules, rendering output, testing packages, running server mode, inspecting projects
Gradle Plugin JVM teams build-time evaluation, Java/Kotlin code generation, Pkldoc generation
Pkldoc library authors searchable package documentation from public Pkl modules and doc comments
IntelliJ Plugin JetBrains users completion, navigation, diagnostics, and refactoring in IntelliJ Platform IDEs
VS Code Extension VS Code users completion, diagnostics, formatting, and editor feedback
Neovim Plugin Neovim users editor support backed by the Pkl language server
Pkl Language Server editor/plugin authors low-level LSP integration for editor plugins
Code generators application teams typed Java, Kotlin, Swift, and Go-facing configuration APIs

Start With the CLI

The CLI is the operational center of Pkl. Learn it first, then add editor or build integrations around the workflows you actually need.

Command family What it anchors
pkl eval rendering configuration to JSON, YAML, plist, or other output formats
pkl test validating examples, fixtures, and package contracts
pkl repl exploring expressions and standard-library behavior
pkl server embedding Pkl behind language bindings and long-running clients
project/package commands dependency resolution, package metadata, and publishing workflows

See CLI Reference for command shape and output behavior.

Build and Documentation Tools

Use the Gradle Plugin when Pkl evaluation, Java/Kotlin code generation, or Pkldoc generation needs to be part of a JVM build. It is the cleanest path for teams that already rely on Gradle.

Use Pkldoc when you publish reusable Pkl modules. Pkldoc turns module names, classes, functions, properties, and Markdown doc comments into navigable package documentation.

Use code generators when application code should consume configuration through typed APIs instead of raw maps. Pkl's official docs cover Java, Kotlin, Swift, and Go-facing integration surfaces.

Editor Tools

Editor support should be selected by editor, not by implementation.

  • IntelliJ Plugin for JetBrains IDEs.

  • VS Code Extension for VS Code.

  • Neovim Plugin for Neovim.

  • Pkl Language Server for plugin authors and editor integrations.

For day-to-day setup, use Editor Support. For protocol-level details, use the official Language Server documentation.

What This Page Is Not

This page should not list this site's Markdown generator, local preview server, deployment command, or MoonBit implementation work. Those are contributor and implementation concerns, not Pkl tooling for readers.

Use Contributor Workflow for documentation-site commands and Compatibility for notes about unofficial implementations.