# Skir

Declarative language for types & APIs.

Source: [Console review](<https://console.dev/tools/skir>)

Website: [https://skir.build/](<https://skir.build/>)

Profile updated: 2026-10-16

Category: [Programming languages](<https://console.dev/tools/categories/systems-language>)

## Supported tech stack

Research checked: 2026-10-11

### Integrates with

- Elixir (Language)
- Go (Language)
- Java (Language)
- Kotlin (Language)
- Python (Language)
- Rust (Language)
- Swift (Language)
- TypeScript (Language)
- Zig (Language)

Source: [Research source](<https://github.com/gepheum/skir>)

Documented compatibility; coverage may be incomplete. Written in describes implementation, not user-project language support.

Schema compiler generates TypeScript, Python, Java, Kotlin, Rust, Go, Swift and Zig; Elixir generator is community-maintained.

## Console’s review — 2026-04-09

Reviewed: 2026-04-09

Author: [David Mytton](<https://console.dev/about#david-mytton>)

Citation: [This review](<https://console.dev/tools/skir#review_25e43ce8f69489ecef9aa6d34a69aaafead506ce1cdef968d76982fc082281dc>)

### 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.

### Tradeoffs

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.

This review reflects Console’s assessment at publication on 2026-04-09. Features and limitations may have changed since the review date.

## Is Skir a fit?

Based on [Console’s review published on 2026-04-09](<https://console.dev/tools/skir#review_25e43ce8f69489ecef9aa6d34a69aaafead506ce1cdef968d76982fc082281dc>).

Summary updated: 2026-10-16

### Who it’s for

Developers working with multiple programming languages should consider Skir

### Why consider it

Skir allows generating type-safe code from a schema definition

### Keep in mind

Skir requires regenerating code after schema changes to avoid compile-time errors

[Selection criteria](<https://console.dev/selection-criteria>) · [About Console](<https://console.dev/about>) · [Browse tools](<https://console.dev/tools>)
