Uma biblioteca de serialização multiplataforma que permite ler dados binários diretamente, sem precisar analisá-los ou descompactá-los antes.
gepheum/skir
Uma linguagem declarativa de schemas que gera modelos de dados type-safe e código RPC para TypeScript, Python, Java, Go, C++ e outras linguagens a partir de um único arquivo .skir.
Alternativa open source a:Protocol Buffers
- Estrelas
- 316
- Forks
- 10
- Issues abertas
- 1
- Último commit
- há 17 dias
O que é?
Skir é uma linguagem de schemas para definir tipos de dados e APIs em um único arquivo .skir. Um gerador de linha de comando transforma essas definições em código nativo para TypeScript, Python, Java, Go, C++, Rust, Kotlin, Swift e várias outras linguagens, permitindo que cliente e servidor compartilhem o mesmo contrato.
Os tipos gerados são profundamente imutáveis, e todos os campos precisam ser informados na construção. O projeto oferece sum types com variantes constantes ou tipadas, arrays indexados por chave com APIs de busca e três modos de serialização: JSON compacto, JSON legível e binário. Também inclui verificações de evolução de schema para que dados antigos continuem desserializáveis à medida que as definições mudam.
Para serviços, Skir oferece o SkirRPC, uma camada leve de RPC sobre HTTP com um app Studio integrado para consultar e testar métodos. Também é possível importar tipos diretamente de repositórios do GitHub, e uma extensão do VS Code com language server adiciona validação, autocompletar e formatação.
Recursos principais
- 01Gera código type-safe para mais de 10 linguagens a partir de um único arquivo de schema.
- 02Gera tipos profundamente imutáveis, com todos os campos obrigatórios na construção.
- 03Oferece sum types com variantes constantes ou tipadas.
- 04Oferece serialização em JSON compacto, JSON legível e binário.
- 05Inclui o SkirRPC, uma camada de RPC sobre HTTP com o Studio integrado para testar métodos.
- 06Permite importar tipos de repositórios do GitHub.
Casos de uso
- Compartilhar tipos de requisição e resposta entre um frontend em TypeScript e um backend em Python ou Go.
- Substituir definições de Protocol Buffers por uma linguagem de schemas com sum types e arrays indexados por chave.
- Definir APIs tipadas que precisam de uma camada de RPC sobre HTTP e de uma interface de teste navegável.
- Compartilhar estruturas de dados entre vários projetos por meio de imports do GitHub.
Início rápido
- 1
Abra o guia de introdução para consultar a configuração e o fluxo de trabalho
- 2
Escreva um arquivo de esquema .skir e gere código para a linguagem de destino
Antes de usar
- O gerador de Elixir é mantido pela comunidade, não oficialmente.
Tópicos
Perguntas frequentes
- O que é skir?
- Uma linguagem declarativa de schemas que gera modelos de dados type-safe e código RPC para TypeScript, Python, Java, Go, C++ e outras linguagens a partir de um único arquivo .skir. Skir é uma linguagem de schemas para definir tipos de dados e APIs em um único arquivo .skir. Um gerador de linha de comando transforma essas definições em código nativo para TypeScript, Python, Java, Go, C++, Rust, Kotlin, Swift e várias outras linguagens, permitindo que cliente e servidor compartilhem o mesmo contrato.
- skir é gratuito? Qual é a licença?
- skir é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- skir ainda é mantido?
- Manutenção ativa. O último commit de skir foi em 6 de out. de 2026.
- Para que posso usar skir?
- Compartilhar tipos de requisição e resposta entre um frontend em TypeScript e um backend em Python ou Go. Substituir definições de Protocol Buffers por uma linguagem de schemas com sum types e arrays indexados por chave. Definir APIs tipadas que precisam de uma camada de RPC sobre HTTP e de uma interface de teste navegável. Compartilhar estruturas de dados entre vários projetos por meio de imports do GitHub.
- Como instalar skir?
- Abra o guia de introdução para consultar a configuração e o fluxo de trabalho Escreva um arquivo de esquema .skir e gere código para a linguagem de destino
- Onde consigo skir?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/gepheum/skir
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Framework RPC independente de linguagem, com um gerador de código que cria clientes e servidores interoperáveis em diversas linguagens de programação.
APIs totalmente tipadas de ponta a ponta para TypeScript, sem schemas nem geração de código, com tipos compartilhados entre servidor e cliente.
Uma ferramenta de linha de comando para chamar servidores gRPC, como o curl, mas usando entradas JSON, com descoberta de schemas via server reflection ou arquivos proto.
Um linter extensível com correção automática que aplica regras de estilo para Protocol Buffer sem exigir o compilador protoc.
Framework multiplataforma para criar apps desktop pequenos e rápidos com TypeScript no processo principal e webviews, com suporte também a Zig, Rust, Go e Odin.