LinuxmacOSWindows

Where Is the PklProject File?

Pkl projects declare dependencies in PklProject files with downloaded packages cached per user.

Last updated

Pkl organizes reusable config through PklProject files in project folders. The file names the project URI and its dependencies with version constraints. Evaluation resolves imports against those pinned packages.

Downloaded packages cache per user outside the repo. Project evaluations output plain YAML, JSON, or properties wherever commanded. Keep the project file committed and the cache out of git.

Where Pkl stores this, by platform

Linux
[ProjectDir]/PklProject

Project URI plus dependency versions live here. Package cache sits per user outside the repo. Evaluations write to commanded output paths.

macOS
[ProjectDir]/PklProject

Same project file on Mac. Tests beside modules verify templates. Cache location follows the user home by install method.

Windows
[ProjectDir]\PklProject

Same file on Windows. Import paths inside use forward slashes. Exact schema keys vary by Pkl release.

Frequently asked questions

Where do Pkl dependencies download?

Into the per user package cache outside the repo on first evaluation. The PklProject file pins versions. Clear the cache to force refetch.

How do I share Pkl modules?

Publish them as versioned packages referenced by URI in PklProject. Local modules import by relative path. Pin versions for reproducible output.

Notice an outdated path? Let us know.