バイナリデータを解析・展開せずに直接読み取れる、クロスプラットフォームのシリアライズライブラリです。
gepheum/skir
1つの.sk irファイルから、TypeScript、Python、Java、Go、C++など向けの型安全なデータモデルとRPCコードを生成する宣言的スキーマ言語。
代替できる製品:Protocol Buffers
- スター
- 316
- フォーク
- 10
- 未解決の Issue
- 1
- 最終コミット
- 17 日前
これは何?
Skirは、1つの.sk irファイルでデータ型とAPIを定義するためのスキーマ言語です。コマンドラインジェネレーターが定義をTypeScript、Python、Java、Go、C++、Rust、Kotlin、Swiftなど複数の言語のネイティブコードに変換するため、クライアントとサーバーで同じ契約を共有できます。
生成される型は深く不変で、構築時にすべてのフィールドを指定する必要があります。定数または型付きのバリアントを持つsum型、検索APIを備えたキーインデックス付き配列、そしてdense JSON、読みやすいJSON、バイナリの3つのシリアライズ方式をサポートします。また、定義が変わっても古いデータをデシリアライズできるよう、スキーマ進化の互換性チェックも備えています。
サービス向けには、メソッドの閲覧やテストに使えるStudioアプリを内蔵した軽量なHTTP RPCレイヤー、SkirRPCを提供します。GitHubリポジトリから型を直接インポートすることもでき、言語サーバーを備えたVS Code拡張機能により、検証、補完、フォーマットを利用できます。
主な機能
- 011つのスキーマファイルから10以上の言語向けに型安全なコードを生成します。
- 02構築時にすべてのフィールドを指定する、深く不変な型を生成します。
- 03定数または型付きのバリアントを持つsum型をサポートします。
- 04dense JSON、読みやすいJSON、バイナリのシリアライズ方式を利用できます。
- 05メソッドのテストに使えるStudioを内蔵したHTTP RPCレイヤー、SkirRPCを備えています。
- 06GitHubリポジトリから型をインポートできます。
ユースケース
- TypeScriptのフロントエンドとPythonまたはGoのバックエンドで、リクエスト型とレスポンス型を共有する。
- sum型とキーインデックス付き配列を備えたスキーマ言語で、Protocol Buffersの定義を置き換える。
- HTTP RPCレイヤーと閲覧可能なテストUIを必要とする、型付きAPIを定義する。
- GitHubからのインポートを通じて、複数のプロジェクト間でデータ構造を共有する。
クイックスタート
- 1
セットアップとワークフローについては、スタートガイドを開いてください
- 2
.skir スキーマファイルを作成し、対象言語向けのコードを生成してください
使う前に知っておきたいこと
- Elixir ジェネレーターは公式ではなく、コミュニティによってメンテナンスされています。
トピック
よくある質問
- skir とは?
- 1つの.sk irファイルから、TypeScript、Python、Java、Go、C++など向けの型安全なデータモデルとRPCコードを生成する宣言的スキーマ言語。 Skirは、1つの.sk irファイルでデータ型とAPIを定義するためのスキーマ言語です。コマンドラインジェネレーターが定義をTypeScript、Python、Java、Go、C++、Rust、Kotlin、Swiftなど複数の言語のネイティブコードに変換するため、クライアントとサーバーで同じ契約を共有できます。
- skir は無料で使えますか?ライセンスは?
- skir は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- skir は今もメンテナンスされていますか?
- 活発にメンテナンス中。skir の最終コミットは 2026年10月6日 です。
- skir は何に使えますか?
- TypeScriptのフロントエンドとPythonまたはGoのバックエンドで、リクエスト型とレスポンス型を共有する。 sum型とキーインデックス付き配列を備えたスキーマ言語で、Protocol Buffersの定義を置き換える。 HTTP RPCレイヤーと閲覧可能なテストUIを必要とする、型付きAPIを定義する。 GitHubからのインポートを通じて、複数のプロジェクト間でデータ構造を共有する。
- skir のインストール方法は?
- セットアップとワークフローについては、スタートガイドを開いてください .skir スキーマファイルを作成し、対象言語向けのコードを生成してください
- skir はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/gepheum/skir
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
多くのプログラミング言語間で相互運用可能なクライアントとサーバーを生成する、言語非依存のRPCフレームワークです。
スキーマ定義やコード生成なしで、サーバーとクライアント間で型を共有できるTypeScript向けのエンドツーエンド型安全API。
JSON入力でgRPCサーバーを呼び出す、curlのようなコマンドラインツール。server reflectionやprotoファイルからスキーマを取得できます。
protocコンパイラ不要でProtocol Bufferのスタイルガイドを適用する、プラグイン対応のリンター兼自動修正ツール。
メインプロセスにTypeScript、UIにWebviewを使って軽量で高速なクロスプラットフォームアプリを構築できるデスクトップアプリフレームワーク。Zig、Rust、Go、Odinにも対応。