apple/pkl
A configuration as code language with rich validation and tooling. observed · 2026-08-28
Health v2 · maintenance only
87/100
- Activity 99
- Release rhythm 82
- Longevity 68
Flags: no_readme
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: 34.0
- age_days: 957
- days_rel: 41
- days_push: 7
- n_releases_24m: 15
Adoption not part of the score
11497 stars · 399 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
Pkl is a configuration-as-code language from Apple with rich validation, templating, and tooling for defining programmable, scalable, and safe configuration. It ships a CLI with a REPL, generates JSON, YAML, property lists, and static config formats, and offers bindings for Java, Kotlin, Swift, and Go.
Use cases
- generate json yaml plist from a single config source
- validate application configuration with type checks
- manage kubernetes configuration as typed templates
- embed a config language into jvm or swift applications
- replace jsonnet or yaml for complex config
- generate typed config classes for java kotlin swift go
When to choose
- you need programmable, validated configuration beyond what yaml or toml offers
- you must emit multiple config formats from one source of truth
- you want type-safe config bindings for jvm, swift, or go apps
- you manage kubernetes or CI configs that benefit from templates and validation
When to avoid
- your configuration is simple and flat where yaml or env files suffice
- your team cannot adopt a new language for config
- you need a widely adopted standard with a large ecosystem
- you only need runtime config without code generation or validation
Facets
cli-tool · maturity active
configuration-management serialization form-handling cli programming-language developer-tools programming-languages windows jvm cli cross-platform config-as-code configuration-language json-yaml-plist kubernetes-config spring-boot code-generation type-safe-config configuration devops macos linux
5 sources
- homepage: https://pkl-lang.org · fetched 2026-08-29 · 20c0d73e7211
- site_page: https://pkl-lang.org/package-docs/pkl/current/index.html · fetched 2026-08-29 · f2d2b504660c
- site_page: https://pkl-lang.org/package-docs · fetched 2026-08-29 · 2e2465fd6fa2
- site_page: https://pkl-lang.org/main/current/integrations.html · fetched 2026-08-29 · c3b7f70766bf
- site_page: https://pkl-lang.org/main/current/pkl-cli/index.html · fetched 2026-08-29 · 21e865b9d7b1
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| apple/pkl | main | 87 |
For agents
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem