ランキングに戻る

kcl-lang/kcl

Rustkcl-lang.io

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

recordconfigurationfunctionalpolicylanguagerustconfiguration-languagecompilerdevopskubernetescloud-nativeconfiguration-management
スター成長
スター
2.4k
フォーク
170
週間成長
Issue
105
1k2k
2022年5月2023年9月2025年2月2026年7月
成果物crates.iocargo add kcl
README

KCL: Constraint-based Record & Functional Language

English | 简体中文

Introduction | Features | What is it for | Installation | Documentation | Contributing | Roadmap

Introduction

KCL is an open-source, constraint-based record and functional language that enhances the writing of complex configurations, including those for cloud-native scenarios. With its advanced programming language technology and practices, KCL is dedicated to promoting better modularity, scalability, and stability for configurations. It enables simpler logic writing and offers ease of automation APIs and integration with homegrown systems.

What is it for?

You can use KCL to

Features

  • Easy-to-use: Originated from high-level languages ​​such as Python and Golang, incorporating functional language features with low side effects.
  • Well-designed: Independent spec-driven syntax, semantics, runtime and system modules design.
  • Quick modeling: Out-of-the-box modules and Schema-centric configuration types and modular abstraction.
  • Rich capabilities: Configuration with type, logic and policy based on Config, Schema, Lambda, Rule.
  • Stability: Configuration stability is achieved through a static type system, constraints, and rules.
  • Scalability: High scalability is assured with an automatic merge mechanism of isolated config blocks.
  • Fast automation: Gradient automation scheme of CRUD APIs, multilingual SDKs, and language plugin
  • High performance: High compile-time and runtime performance using Rust & C, and support compilation to native code and WASM.
  • API affinity: Native support for ecological API specifications such as OpenAPI, Kubernetes CRD, Kubernetes Resource Model (KRM) spec.
  • Developer-friendly: Friendly development experiences with rich language tools (Format, Lint, Test, Vet, Doc, package management tools etc.), and multiple IDE extensions.
  • Safety & maintainable: Domain-oriented, no system-level functions such as native threads and IO, low noise and security risk, easy maintenance and governance.
  • Rich multi-language SDK: Rust, Go, Python, .NET, Java and Node.js SDKs meet different scenarios and application use prelude.
  • Integrations: Abstract, mutate and validate manifests through Kubectl KCL Plugin, Kustomize KCL Plugin, Helm KCL Plugin, KPT KCL SDK or Crossplane KCL Function.
  • Production-ready: Widely used in production practices of platform engineering and automation at Ant Group.

How to choose?

A detailed feature and scenario comparison is here.

Installation

For more information about installation, please check the Installation Guide on the KCL official website.

Documentation

Detailed documentation is available at KCL Website

There is also a very nice Devin generated document available at deepwiki.

Contributing

See Developing Guide. You can also get started by opening the project in GitHub Codespaces.

Open in GitHub Codespaces

Roadmap

See KCL Roadmap.

Community

See the community for ways to join us.

License

FOSSA Status

関連リポジトリ
CapSoftware/Cap

Open source Loom alternative. Beautiful, shareable screen recordings.

TypeScriptnpmOtherappcap
cap.so
20.3k1.7k
wulkano/Kap

An open-source screen recorder built with web technology

TypeScriptnpmMIT Licensescreen-recorderjavascript
getkap.co
19.3k892
faressoft/terminalizer

🦄 Record your terminal and generate animated gif images or share a web player

JavaScriptnpmMIT Licenseterminalrecord
terminalizer.com
16.1k523
MathewSachin/Captura

Capture Screen, Audio, Cursor, Mouse Clicks and Keystrokes

C#MIT Licensecapturescreenshot
mathewsachin.github.io/Captura/
10.8k2k
Netflix/pollyjs

Record, Replay, and Stub HTTP Interactions.

JavaScriptnpmApache License 2.0javascriptbrowser
netflix.github.io/pollyjs
10.3k356
xiangyuecn/Recorder

html5 js 录音 mp3 wav ogg webm amr g711a g711u 格式,支持pc和Android、iOS部分Web浏览器、Hybrid App(提供Android iOS App源码)、微信,提供ASR语音识别转文字 H5版语音通话聊天示例 DTMF编码解码

JavaScriptnpmMIT Licenserecorderrecord
xiangyuecn.github.io/Recorder/
5.6k1.1k
owen-it/laravel-auditing

Record the change log from models in Laravel

PHPPackagistMIT Licenselaravelauditing
laravel-auditing.com
3.4k408
SeleniumHQ/selenium-ide

Open Source record and playback test automation for the web.

TypeScriptnpmApache License 2.0selenium-idewebextension
selenium.dev/selenium-ide/
3.1k831
tc39/proposal-record-tuple

ECMAScript proposal for the Record and Tuple value types. | Stage 2: it will change!

HTMLjavascripttc39
tc39.es/proposal-record-tuple/
2.5k57
langhuihui/monibuca

🧩 Monibuca is a Modularized, Extensible framework for building Streaming Server

GoGo ModulesGNU Affero General Public License v3.0livestreammediaserver
monibuca.com
2.4k347
vkohaupt/vokoscreenNG

vokoscreenNG is a powerful screencast creator in many languages to record the screen, an area or a window (Linux only). Recording of audio from multiple sources is supported. With the built-in camera support, you can make your video more personal. Other tools such as systray, magnifying glass, countdown, timer, Showclick and Halo support will help

C++GNU General Public License v2.0screencastlinux
linuxecke.volkoh.de/vokoscreen/vokoscreen.html
1.5k111
LuckyHookin/edge-TTS-record

一个可以录制 Microsoft Edge 浏览器的语音合成(TTS)语音并输出为 .wav 音频的(windows平台)工具。

HTMLttsedge
1.4k172