Skip to main content

Crate kdl_codegen

Crate kdl_codegen 

Source
Expand description

§club-kdl-codegen

Generate type / schema definitions in multiple languages from a single KDL schema file (KDL-first). Targets: Rust, TypeScript, Zod, and SurrealQL.

§Pipeline

*.kdl  ──parser──▶  Schema IR  ──emitter──▶  Rust / TypeScript / Zod / SurrealQL

The intermediate ir::Schema representation decouples parsing from emission: the parser is written once, and each target is one Emitter implementation.

See the design memory mem_1Cb5mWnMTdzXfJVoNGFwup and ROADMAP.md (Phase 1) for the full plan.

Modules§

emit
Language emitters — one crate::Emitter implementation per target.
ir
Schema IR — the intermediate representation between the KDL parser and the language emitters.
parser
Parser — KDL schema file → crate::ir::Schema.

Traits§

Emitter
A code generation target. Each language emitter (emit::RustEmitter / emit::TypeScriptEmitter / emit::ZodEmitter / emit::SurrealQlEmitter) implements this trait against the shared ir::Schema.