
KCL
KCL Programming Language Core and API (CNCF Sandbox Project).
- 11
- Projects
- 2
- Years active
- 2
- In 2025 T1
Projects
112025
2 projectsTerm 1 · Mar-May · 2 projects
A test framework developed for the KCL package management tool
LFX Mentorship · Listed in the official cohort
The main content of this topic is to refer to the structure of the test part of common programming languages, such as go and rust, to develop a test framework for KCL's package management tool to help developers better write test cases for the project. The main function of the test framework is to provide a mock environment that supports compiling KCL and interacting with simulated environments such as OCI/Git registry.
- Go
- Rust
KPM & LSP Integrated
LFX Mentorship · Listed in the official cohort
Sometimes users will edit the kcl.mod file in the IDE to update project dependencies. The integration between LSP and KPM needs to be strengthened, it mainly includes two parts of functions. According to the content written by the user in the kcl.mod file, the IDE automatically calls the kcl run/mod add/mod metadata and other functions, and feeds back the results in the IDE. According to the user's operations in the command line, the changes of kcl.mod and project content are synchronized to the IDE. examples: 1. When users update kcl.mod in the IDE, the required dependencies are automatically downloaded. 2. When users use the kpm tool to update dependencies, the IDE can be updated (recompiled). For example ``kcl import k8s # Error: Module not found ` use kcl mod add k8s to download the dependency k8s`. kpm will download the k8s package and then the IDE errors will be eliminated
- Go
- Rust
2024
9 projectsTerm 3 · Sep-Nov · 3 projects
KCL Language Server Protocol Support on Lsp4IJ for Jetbrains IDEs
LFX Mentorship · Listed in the official cohort
Currently, the KCL IDE plug-in based on Jetbrains LSP cannot support all versions of Jetbrains IDE, so migrate the KCL IDE plug-in to Lsp4IJ to support all versions of Jetbrains IDE.
- Java
New local dependency storage for KCL package management tool
LFX Mentorship · Listed in the official cohort
kpm is a package management tool for KCL. kpm needs to refactor the local storage structure of the current dependencies to support storage of packages with the same name from different OCI registes and caching of the remote dependencies.
- Go
The checksum check of the three-party dependencies
LFX Mentorship · Listed in the official cohort
kpm is a package management tool for KCL. kpm currently lacks checksum verification for dependencies, so this part needs to be completed to support package integrity verification and package source verification
- Go
Term 2 · Jun-Aug · 3 projects
KCL Package Management Dependencies Sparse Checkout
LFX Mentorship · Listed in the official cohort
kpm is a package management tool for KCL. When the scale of KCL project becomes larger and larger, and the external packages that KCL project relies on become more and more, kpm will become slow due to the need to download a large number of third-party dependencies. kpm needs to support Sparse-Checkout, which means downloading specific dependencies as needed rather than all of them, to improve the performance of the kpm.
- Go
- rust
Optimization of KCL LSP prompt information
LFX Mentorship · Listed in the official cohort
Optimize KCL LSP(language server protocol) prompt information, including the implementation of type inlayhint and optimization of hover content rendering. Currently, KCL’s hover content is in plain text format and needs to be rendered into a more beautiful style.
- rust
- LSP
Supports tree-sitter for KCL
LFX Mentorship · Listed in the official cohort
Tree-sitter is a parser generator tool and an incremental parsing library. In order to support more features of the IDE, we need a more complete syntax tree, and for easy integration with the community, we intend to use tree-sitter to build a more complete parser system for KCL.
- rust
- LSP
Term 1 · Mar-May · 3 projects
KCL IDE Quick Fix
LFX Mentorship · Listed in the official cohort
When the KCL IDE encounters some errors in the KCL code, it can pop up Quick Fix prompts to help users quickly fix the errors.
- rust
KCL IDE Update KCL Dependencies
LFX Mentorship · Listed in the official cohort
When a KCL package is loaded using KCL IDE, the IDE automatically updates the dependencies of the current KCL package through kpm.
- rust
- go
KCL Package Version Management
LFX Mentorship · Listed in the official cohort
The KCL package management tool primarily handles the management of third-party KCL packages for the KCL project, which includes tasks such as uploading and downloading these packages. When adding third-party packages to the KCL project, it is important to adhere to version management strategies. This involves carefully selecting and downloading the appropriate version of a package, especially when different versions of the same package are available.
- Go