finds.dev← search

// the find

kcl-lang/kcl

★ 2,368 · Rust · Apache-2.0 · updated Jun 2026

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

KCL is a statically-typed configuration language built in Rust, designed to replace raw YAML/JSON in Kubernetes and infrastructure-as-code workflows. It adds schemas, constraints, and functional constructs on top of what's essentially a structured data language. Backed by Ant Group and now a CNCF Sandbox project, it's production-tested at scale.

The static type system and constraint validation run at compile time — you catch 'replicas must be > 0' violations before kubectl apply, not after. The automatic config block merge semantics are genuinely useful for multi-environment configs: base + dev + prod overlays without writing merge logic yourself. WASM compilation support means you can run KCL validation in a browser or edge runtime without a server. The multilingual SDK surface (Go, Python, Rust, .NET, Java, Node.js) plus gRPC API means you can call into KCL from almost any toolchain without shelling out.

The language is yet another DSL you're betting your platform on — if the project stalls or the community stays small, you own migration. Error messages for constraint violations can be cryptic when schemas compose deeply; debugging 'expected type X, got Y' through three levels of schema inheritance is painful. The package registry (ArtifactHub) has thin coverage outside Kubernetes CRD schemas, so you'll be writing your own modules for anything non-standard. IDE support exists but lags behind the compiler — autocomplete and go-to-definition work inconsistently across editor plugins.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →