Skip to content
@kcl-lang

The KCL Programming Language

KCL is an open-source constraint-based record & functional language mainly used in configuration and policy scenarios.

Hey, this is KCL community 👋

💻 Website | 👩‍💻 Quick Start | 👀 Blog | 📦 Modules | 🔧 SDKs | 🔌 Plugins | 💻 IDE Extensions | 🎮 Playground |☸️ KRM KCL Spec

KCL is a constraint-based record & functional language mainly used in cloud-native configuration and policy scenarios. It is hosted by the Cloud Native Computing Foundation (CNCF) as a Sandbox Project.

What is it for?

KCL aims to provide the following capabilities:

  • Hide infrastructure and platform details by defining more appropriate API abstractions to reduce the burden of developers.
  • Mutate and validate existing config files or manifests through numerous community modules.
  • Manage large-scale configuration data across teams without side effects through configuration and policy language for GitOps.

Specifically, KCL can

  • Improve the ability to semantically validate configurations at the code level, such as schema definitions, required/optional attribute requirements, types, range constraints, and etc.
  • Provide capabilities for writing, combining, and abstracting configuration chunks, such as structure definitions, structure inheritance, constraint definitions, and configuration policy merging.
  • Enhance configuration flexibility by adopting modern programming language features, such as conditional statements, loops, functions, and package management, to improve configuration reusability.
  • Provide comprehensive toolchain support, including rich IDE extensions and toolchains support to reduce the learning curve and enhance the user experience.
  • Enable easier sharing, propagation, and delivery of configurations between different teams/roles through package management tools and OCI registries.
  • Offer a high-performance compiler to meet the demands of scalable configuration scenarios, such as rendering performance for generating configurations for different environments and topologies based on a baseline configuration and configuration automation modification performance requirements.
  • Improve automation integration capabilities through multi-language SDKs, KCL language plugins, and other means, significantly reducing the learning curve while leveraging the value of configuration and policy writing with KCL.
  • Used as a platform engineering language to deliver modern apps with KusionStack.

Documents

See the KCL website for more information.

Community

See the community for ways to join us.

Pinned Loading

  1. kcl kcl Public

    KCL Programming Language Core and API (CNCF Sandbox Project). https://kcl-lang.io

    Rust 2.3k 168

  2. modules modules Public

    KCL Community Modules. View on Artifact Hub: https://artifacthub.io/packages/search?org=kcl&sort=relevance&page=1

    KCL 39 49

  3. cli cli Public

    KCL Programming Language Command Line Interface (CLI).

    Go 37 24

  4. krm-kcl krm-kcl Public

    Kubernetes Resource Model KCL Specification and Integrations including Kubectl, Kustomize, Helm, Helmfile, Crossplane, KPT, etc.

    KCL 34 18

  5. lib lib Public

    KCL Multiple Language Bindings including Rust, Go, Python, Java, Kotlin, .NET, Swift, Lua, Node.js, Zig, C, C++, WASM, etc.

    C# 19 14

  6. kcl-lang.io kcl-lang.io Public

    KCL Website and Documentation Repo

    TypeScript 20 54

Repositories

Showing 10 of 44 repositories
  • kubectl-kcl Public

    Kubectl KCL Plugin

    kcl-lang/kubectl-kcl’s past year of commit activity
    Go 16 Apache-2.0 4 4 1 Updated Mar 24, 2026
  • krm-kcl Public

    Kubernetes Resource Model KCL Specification and Integrations including Kubectl, Kustomize, Helm, Helmfile, Crossplane, KPT, etc.

    kcl-lang/krm-kcl’s past year of commit activity
    KCL 34 Apache-2.0 18 0 1 Updated Mar 24, 2026
  • kpt-kcl Public

    KPT Function KCL SDK

    kcl-lang/kpt-kcl’s past year of commit activity
    Go 7 Apache-2.0 4 0 2 Updated Mar 24, 2026
  • helm-kcl Public

    Helm KCL Plugin

    kcl-lang/helm-kcl’s past year of commit activity
    Go 19 Apache-2.0 4 2 2 Updated Mar 24, 2026
  • cli Public

    KCL Programming Language Command Line Interface (CLI).

    kcl-lang/cli’s past year of commit activity
    Go 37 Apache-2.0 24 7 (1 issue needs help) 2 Updated Mar 23, 2026
  • kcl-operator Public

    Kubernetes KCL Operator and Webhook Server

    kcl-lang/kcl-operator’s past year of commit activity
    Go 25 Apache-2.0 5 5 (2 issues need help) 6 Updated Mar 23, 2026
  • lib Public

    KCL Multiple Language Bindings including Rust, Go, Python, Java, Kotlin, .NET, Swift, Lua, Node.js, Zig, C, C++, WASM, etc.

    kcl-lang/lib’s past year of commit activity
    C# 19 Apache-2.0 14 4 6 Updated Mar 23, 2026
  • kcl-lang.io Public

    KCL Website and Documentation Repo

    kcl-lang/kcl-lang.io’s past year of commit activity
    TypeScript 20 Apache-2.0 54 29 (15 issues need help) 1 Updated Mar 23, 2026
  • kcl-go Public

    KCL Go SDK

    kcl-lang/kcl-go’s past year of commit activity
    Go 56 Apache-2.0 32 3 (1 issue needs help) 1 Updated Mar 23, 2026
  • kcl Public

    KCL Programming Language Core and API (CNCF Sandbox Project). https://kcl-lang.io

    kcl-lang/kcl’s past year of commit activity
    Rust 2,331 Apache-2.0 168 110 (15 issues need help) 3 Updated Mar 23, 2026

Top languages

Loading…

Most used topics

Loading…