# kcl-lang/kcl

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

Repository: https://github.com/kcl-lang/kcl
Canonical: https://ross.abutalabs.com/products/kcl
Homepage: https://kcl-lang.io
Language: Rust
License: Apache-2.0
License Family: permissive
Topics: record, configuration, functional, policy, language, rust, configuration-language, compiler, devops, kubernetes, cloud-native, configuration-management, schema, shift-left, validation, infrastructure-as-code, platform-engineering, programming-language
Last push: 2026-08-26T15:16:11+00:00

## Health v2 (maintenance only)
Score: 79/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 40, longevity 100
- inputs: {"age_days": 1581, "days_push": 7, "days_rel": 502, "gap_med": 9.5, "n_releases_24m": 13}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2403, forks 170 (observed 2026-08-28T04:06:43.942529+00:00)

## What it is
KCL is a constraint-based record and functional configuration and policy language implemented in Rust, with this repo providing the language core, compiler, and APIs. It is designed for writing, validating, and automating complex cloud-native configurations such as Kubernetes manifests and platform engineering setups.

## Use cases
- generate json or yaml configuration data from code
- validate kubernetes manifests against schema rules
- reduce boilerplate in large multi-environment configs
- mutate kubernetes resources in gitops pipelines
- define typed schemas for infrastructure configuration
- build platform engineering tooling with a config language

## When to choose
- you manage large-scale kubernetes or cloud-native configuration across environments
- you need schema-based validation and policy constraints on config data
- you want a python-like configuration language with immutability and modularity

## When to avoid
- you need a general-purpose language for application development
- your configuration needs are small and well served by plain yaml or helm
- you require a mature general-purpose DSL ecosystem outside cloud-native tooling

## Facets
- artifact type: library
- maturity: active
- function: programming-language, compiler, configuration-management, infrastructure-as-code, cli, form-handling, sdk
- domain: programming-languages, infrastructure-as-code, cloud-computing
- platform: rust, cli, cross-platform
- tags: configuration-language, kcl, cncf-sandbox, schema-validation, policy-language, gitops, platform-engineering, kubernetes-manifests, devops, configuration-management, containers, kubernetes, docker

## Member repositories
- kcl-lang/kcl (main) score 79

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:43.942529+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:34:11.349159+00:00, confidence not recorded.
  - readme: https://github.com/kcl-lang/kcl (fetched 2026-08-28T04:06:43.942529+00:00, sha bf0d5d73b122)
  - homepage: https://kcl-lang.io (fetched 2026-08-29T10:14:46.797347+00:00, sha afa9acabb9a4)
  - site_page: https://www.kcl-lang.io/docs/user_docs/getting-started (fetched 2026-08-29T10:14:46.807087+00:00, sha 01854d85f7ae)
  - site_page: https://www.kcl-lang.io/docs/reference/lang/tour (fetched 2026-08-29T10:14:46.809753+00:00, sha 5c6bbc9cd568)
  - site_page: https://www.kcl-lang.io/docs/tools/cli (fetched 2026-08-29T10:14:46.813359+00:00, sha 0319ae259f75)
  - site_page: https://www.kcl-lang.io/docs/community/intro (fetched 2026-08-29T10:14:46.815304+00:00, sha c4cf4c6ef912)
  - site_page: https://www.kcl-lang.io/docs/next/tools/cli (fetched 2026-08-29T10:14:46.816982+00:00, sha 5acb3e1397ff)
  - site_page: https://www.kcl-lang.io/docs/0.11/tools/cli (fetched 2026-08-29T10:14:46.818634+00:00, sha e6142cc65363)
  - site_page: https://www.kcl-lang.io/docs/0.10/tools/cli (fetched 2026-08-29T10:14:46.826467+00:00, sha bc94180184d7)
  - site_page: https://www.kcl-lang.io/docs/0.9/tools/cli (fetched 2026-08-29T10:14:46.828218+00:00, sha 43200dbb0de7)
- Data as of 2026-08-30T08:39:29.467469+00:00.
