Κoine

Κοινή · the common tongue of your domain

Model the domain.
Compile the code.

Koine is a domain-specific language for Domain-Driven Design. Describe a bounded context in a small, readable DSL — Koine generates the idiomatic, boilerplate-heavy C# for you.

No install. The compiler runs in your browser.

See it compile — right here

Edit the model. It compiles in your browser the moment you stop typing.

loading compiler...
Open in Studio ▸
model.koicompiles as you type · ⌘F to find
generated

Want the full IDE — glossary, context map, hover docs, and go-to-definition, all in the browser?Open Koine Studio ▸

01

One source of truth

The .koi file is the ubiquitous language. Doc comments, invariants, and the glossary travel with the model — no drift between the docs and the code.

02

The whole DDD toolkit

Value objects, entities, aggregates, commands, events, state machines, repositories, CQRS, context maps, versioning — tactical and strategic, all shipped.

03

A green build proves the domain

Every emitted type is snapshot- and compile-tested. The output is idiomatic, dependency-free C# you can read, review, and check into git.

The complete DDD toolkit

From value objects to context maps to multi-language output — the tactical and strategic building blocks of Domain-Driven Design, all shipped. See thefull feature catalogue.

Model values & shapes

Value objects, optionals, sets & maps, smart enums that carry data, quantities with unit-checked arithmetic, ranges, derived fields, and regex & conditional invariants.

Give models behavior

Commands with preconditions, domain events that record intent, state machines with guarded transitions, and named factories.

Encode rules & coordination

Reusable specifications, stateless domain & application services, and reactive policies.

Persist & query

Identity strategies, repositories with finders, optimistic concurrency, unit of work, read models, and CQRS queries.

Design across bounded contexts

Multi-file models, imports & modules, context maps, shared kernel / anti-corruption layers, and integration events.

Evolve safely

Model versioning, @since / @deprecated annotations, and breaking-change detection.

Generate to your stack

Idiomatic C#, TypeScript, Python, PHP, Rust, and Java — each with an honest maturity level.

Work in your editor

Diagnostics & doc comments, an LSP, a formatter, init scaffolding, watch mode, and coverage that proves every declaration emits.

One model, many targets

The parser and semantic model are strictly target-agnostic. Koine emits idiomaticC#, TypeScript, Python,PHP, and Rust today — flip the target in Studio and watch the same model recompile. C# is the most complete target; theroadmap tracks each language's maturity.

Explore the Ordering model in Studio ▸
.koiC#TypeScriptPythonPHPRust