Build practical software
Write typed Core programs with functions, modules, and structured values. Kelft has a self-hosted compiler and native compilation; availability depends on the selected release.
Kelft is an AI-native programming language designed to keep people in control of AI-generated software. Describe the outcomes and constraints that matter, let AI propose an implementation, and use trusted checks and explicit review to control what gets accepted. Its compiler builds accepted source without asking AI to generate it again.
Kelft is under active development as a general-purpose language and software-development system. The authoring workflow and optional targets described here are distinct from the commands and components included in a particular native alpha. See compiler versions and availability.
fn main() -> void { println("Hello, Kelft!"); }Save this as hello.kelft. With the public compiler installed:
kelft check hello.kelft --json
kelft run hello.kelft --project-root .See Getting Started for installation and native build instructions.
Core defines executable behavior. Intent adds typed declarations of outcomes, constraints, capabilities, and change contracts. Both use .kelft; their source forms have separate grammars. Checking a declaration does not prove its requirements.
Code that compiles or passes incomplete tests can still violate what someone asked for. AI-generated changes may misunderstand requirements, remove protections or exceed the authorized scope. Kelft is designed around a simple principle: AI can propose software, while people retain authority over its requirements, permissions and acceptance.
In the development authoring workflow, people define the requirements and trusted checks. AI proposes code within configured limits. Kelft checks supported contracts and registered tests, reports unresolved obligations, and presents the changes for review. Acceptance records the reviewed inputs and evidence; supported accepted builds can reproduce artifacts from identified inputs without AI.
A visual change should not automatically authorize changing access-control rules. The configured workflow protects human-owned code, fixtures and external grants from proposal edits. Supported runtime permissions require external grants within compiled restrictions. These boundaries depend on trusted tools and host mechanisms; they are not a complete operating-system sandbox for a coding agent.
Trusted verification means checks controlled outside the proposal, not an independent security audit or proof of every behavior. Reproducibility does not guarantee correctness or security. Read the Intent development contract for supported checks and obligations.
Other languages and coding assistants can use independent tests, permissions and review systems. Kelft makes intent and constraints first-class inputs and develops these controls together as part of a programming language and its tooling. Its compiler works independently of AI generation, and Core programs can be written directly.
The compiler, Core, Intent, and specification snapshots have separate versions. Use the compatibility guide to understand those boundaries.
Kelft's mission is to make AI-generated software safer, more predictable, understandable and controllable. Whether software is proposed by today’s coding assistants or future systems with general or superhuman capabilities, people should retain authority over its requirements, permissions and acceptance. Its long-term research direction is to evaluate how explicit requirements, restricted authority and evidence-based acceptance can support oversight of increasingly autonomous software development. Broader safety benefits and comparative advantages remain open research questions.
This reference uses compiler 0.1.0-alpha.2 at commit f567c2168436.