KCL Modules is a registry and repository for publishing reusable KCL language modules that are discoverable through Artifact Hub.
The project addresses the need for a centralized location to share and discover KCL modules. It works by accepting module submissions via pull requests to a GitHub repository, where each module must contain a kcl.mod file as its identification marker. Modules can optionally include a kcl.mod.lock file for dependency version pinning, a README for documentation, an artifacthub-pkg.yaml file for customizing how the module appears in the registry, and KCL program files containing the actual source code. The repository automatically generates default metadata for modules that do not provide an artifacthub-pkg.yaml file, making it straightforward to publish without extensive configuration.
Developers should choose this tool if they are building reusable KCL components and want to share them with the broader KCL community through an established registry. It suits projects that need discoverable, versioned modules with clear documentation. The tool is most appropriate for those already working within the KCL ecosystem and targeting the official language registry rather than private or alternative package systems.
The project maintains an active contribution workflow with clear branching conventions for module submissions. Pull request-based publishing ensures that all modules go through a review process before becoming available in the registry. The repository provides straightforward initialization tooling through the kcl mod init command, reducing friction for first-time publishers. Documentation is available in multiple languages, reflecting an effort to serve a diverse user base.