Skir
Declarative language for types & APIs.
What we like
Define the schema then generate idiomatic, type-safe code (Python, Go, Java, Rust, TS, etc). Dynamic serialization options e.g. binary or JSON. VS Code extension & LSP tooling. Supports backwards compatibility when changing schemas.
What we don't like
Compile-time errors if you add a field, but don’t regenerate the code - this is the opposite to protobuf which handles it by defaulting values. This may be better, depending on your philosophy.