Sobre el proyecto

Pkl es un lenguaje de configuración como código creado por Apple, diseñado para aportar expresividad y validación de lenguajes de programación a los archivos de configuración. En lugar de escribir YAML, JSON o archivos de propiedades estáticos, los usuarios escriben programas Pkl que producen salida de configuración, con verificación de tipos, restricciones y plantillas reutilizables. El repositorio es la implementación central del lenguaje. Incluye una CLI para evaluar archivos Pkl y renderizarlos a formatos como JSON, YAML y otros. El lenguaje admite validación enriquecida, de modo que los valores inválidos o fuera de rango pueden detectarse antes de aplicar la configuración. La documentación cubre una introducción, una referencia del lenguaje, herramientas, ejemplos y notas de versión. Un ecosistema de repositorios complementarios extiende Pkl a muchos entornos. Existen enlaces de lenguaje para Go y Swift, y hay ejemplos para usar Pkl en aplicaciones Go, JVM y Swift. Una extensión de Spring Boot permite configurar aplicaciones Boot con Pkl. Los usuarios de Kubernetes obtienen plantillas y ejemplos, y hay reglas de compilación de Bazel disponibles. El soporte de editores y herramientas incluye un servidor de lenguaje que implementa el Protocolo de Servidor de Lenguaje, complementos para IDEs de JetBrains y VS Code, soporte de Neovim, un paquete de TextMate, un analizador Tree-sitter y resaltado de sintaxis de Highlight.js. Los paquetes compartidos y las bibliotecas de utilidades se publican a través de los repositorios pkl-pantry y pkl-project-commons, y las herramientas de lectura externas residen en pkl-readers. El proyecto se desarrolla de forma abierta en GitHub, con problemas y Discusiones de GitHub para preguntas de la comunidad. Las pautas de contribución y las instrucciones de compilación se proporcionan en el repositorio, y los pipelines de CI publican artefactos en un repositorio de Sonatype. Los cambios sugeridos al lenguaje se rastrean a través del repositorio pkl-evolution como SPICEs.