Repolode
gepheum

gepheum/skir

Lenguaje declarativo de esquemas que genera modelos de datos seguros en tipos y código RPC para TypeScript, Python, Java, Go, C++ y otros lenguajes a partir de un único archivo .skir.

Alternativa open source a:Protocol Buffers

Estrellas
316
Forks
10
Issues abiertos
1
Último commit
hace 17 días

¿Qué es?

Skir es un lenguaje de esquemas para definir tipos de datos y APIs en un único archivo .skir. Un generador de línea de comandos convierte estas definiciones en código nativo para TypeScript, Python, Java, Go, C++, Rust, Kotlin, Swift y varios lenguajes más, de modo que el cliente y el servidor compartan un mismo contrato.

Los tipos generados son profundamente inmutables y todos los campos deben definirse al construirlos. El proyecto admite tipos suma con variantes constantes o tipadas, arrays indexados por clave con APIs de búsqueda y tres modos de serialización: JSON compacto, JSON legible y binario. También incluye comprobaciones de evolución de esquemas para que los datos antiguos sigan deserializándose a medida que cambian las definiciones.

Para los servicios, Skir ofrece SkirRPC, una capa RPC ligera sobre HTTP con una aplicación Studio integrada para explorar y probar métodos. También se pueden importar tipos directamente desde repositorios de GitHub, y una extensión de VS Code con un servidor de lenguaje añade validación, autocompletado y formato.

Funciones clave

  • 01Genera código seguro en tipos para más de 10 lenguajes a partir de un único archivo de esquema.
  • 02Genera tipos profundamente inmutables con todos los campos obligatorios al construirlos.
  • 03Admite tipos suma con variantes constantes o tipadas.
  • 04Ofrece serialización en JSON compacto, JSON legible y formato binario.
  • 05Incluye SkirRPC, una capa RPC sobre HTTP con Studio integrado para probar métodos.
  • 06Permite importar tipos desde repositorios de GitHub.

Casos de uso

  • Compartir tipos de solicitud y respuesta entre un frontend en TypeScript y un backend en Python o Go.
  • Sustituir definiciones de Protocol Buffers por un lenguaje de esquemas con tipos suma y arrays indexados por clave.
  • Definir APIs tipadas que necesiten una capa RPC sobre HTTP y una interfaz de pruebas navegable.
  • Compartir estructuras de datos entre varios proyectos mediante importaciones desde GitHub.

Inicio rápido

  1. 1

    Abre la guía de inicio para consultar la configuración y el flujo de trabajo

  2. 2

    Escribe un archivo de esquema .skir y genera código para el lenguaje de destino

Antes de usarlo

  • El generador de Elixir lo mantiene la comunidad, no el equipo oficial.

Temas

Preguntas frecuentes

¿Qué es skir?
Lenguaje declarativo de esquemas que genera modelos de datos seguros en tipos y código RPC para TypeScript, Python, Java, Go, C++ y otros lenguajes a partir de un único archivo .skir. Skir es un lenguaje de esquemas para definir tipos de datos y APIs en un único archivo .skir. Un generador de línea de comandos convierte estas definiciones en código nativo para TypeScript, Python, Java, Go, C++, Rust, Kotlin, Swift y varios lenguajes más, de modo que el cliente y el servidor compartan un mismo contrato.
¿skir es gratuito? ¿Qué licencia tiene?
skir es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿skir sigue mantenido?
Mantenimiento activo. El último commit de skir fue el 6 oct 2026.
¿Para qué puedo usar skir?
Compartir tipos de solicitud y respuesta entre un frontend en TypeScript y un backend en Python o Go. Sustituir definiciones de Protocol Buffers por un lenguaje de esquemas con tipos suma y arrays indexados por clave. Definir APIs tipadas que necesiten una capa RPC sobre HTTP y una interfaz de pruebas navegable. Compartir estructuras de datos entre varios proyectos mediante importaciones desde GitHub.
¿Cómo se instala skir?
Abre la guía de inicio para consultar la configuración y el flujo de trabajo Escribe un archivo de esquema .skir y genera código para el lenguaje de destino
¿Dónde consigo skir?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/gepheum/skir

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados