Skip to content

Roadmap

Typra is in a strong shipped state. The next investments move confidence from known fixtures to systematic coverage across the TypeSpec input space.

Define a language-neutral semantic contract and make every target prove it with executable tests. Cover load, save, JSON helpers, provider wire mappings, scalar coercions, enums, optionals, nulls, polymorphic dispatch, and error behavior.

Generate TypeSpec fixture shapes programmatically by combining nested models, collections, dictionaries, unions, enums, optional fields, aliases, provider mappings, and reserved-word names.

Snapshot generated API shape for each target so accidental breaking changes are visible in class names, field names, methods, enum values, package layout, and exported symbols.

Write down shared emitted-runtime behavior for unknown fields, missing required fields, nulls, coercion failures, enum failures, provider mappings, and discriminator dispatch.

Emit actionable messages with source locations when TypeSpec shapes cannot be represented cleanly or portably. Distinguish warnings, portability risks, and hard errors.

Add tiny downstream projects that consume generated output as real packages or modules for TypeScript, Python, Go, Rust, C#, and Java.

Make each target feel idiomatic without losing cross-language semantic parity: Java package layout and builders, Go richer validation, Rust typed errors, C# nullable annotations, and stricter Python/TypeScript validation options.

Gate releases on TypeSpec compatibility, language toolchain versions, generated fixture validation, conformance matrix status, consumer smoke projects, and package dry-run validation.