Skir: 型安全なデータ交換のためのProtocol Buffersの現代的代替手段

Skirの機能
SkirはProtocol Buffersの現代的代替として、データ型の単一の信頼できる情報源を提供します。.skirファイルにスキーマを一度記述するだけで、複数の言語向けに慣用的で型安全なコードを生成します。
主な機能とワークフロー
すべての設定は一つのYAMLファイルに収まります。npx skir initでプロジェクトを初期化できます。ウォッチモードでは、ファイルが変更されると自動的に再コンパイルされます。
以下はソースからのスキーマ例です:
struct Point {
x: int32;
y: int32;
label: string;
}
struct Shape {
points: [Point];
/// この図形を説明する短い文字列。
label: string;
}
const TOP_RIGHT_CORNER: Point = {
x: 600,
y: 400,
label: "top-right corner",
};
生成コードの使用方法
生成されたコードには、シリアライズとデシリアライズのメソッドが含まれます。TypeScriptの場合:
import { Point } from "../skirout/shapes";
const point = Point.create({
x: 3,
y: 4,
label: "P"
});
const pointJson = Point.serializer.toJson(point);
console.log(pointJson); // [3, 4, "P"]
const restored = Point.serializer.fromJson(pointJson);
console.log(restored.label); // "P"
スキーマ進化とRPCサポート
Skirには、長期間運用されるシステムや分散システムにおける安全なスキーマ進化のための組み込みチェックとガイドラインが含まれています。また、gRPCと同様のエンドツーエンドの型安全性を持つRPCもサポートしています。
RPC定義の例:
struct WhatToWearRequest {
temperature_celsius: float32;
raining: bool;
}
struct WhatToWearResponse {
bottom_outfit: string;
sunglasses: bool;
}
method WhatToWear(WhatToWearRequest): WhatToWearResponse = 770862;
追加機能
- 高密度JSON(コンパクト、スキーマ進化を可能にする)、読み取り可能JSON(デバッグ用)、またはバイナリ(パフォーマンス用)へのシリアライズ
- GitHubリポジトリから直接型をインポートする組み込みパッケージマネージャー
- リアルタイム検証、コード補完、自動フォーマットを備えたVS Code拡張機能
- サポート言語:TypeScript、Python、C++、Java、Kotlin、Dart
対象ユーザー
サービス間で型安全なデータ交換を必要とする、複数言語スタックを運用するチーム。特に、フロントエンドとバックエンドで異なる言語を使用するフルスタックアプリケーションに有効です。
📖 完全なソースを読む: HN AI Agents
👀 See Also

Prefex: プロンプトキャッシュとセッションメモリを自動化するClaude Code用ローカルプロキシ
Prefexは、Claude CodeとAnthropicのAPIの間に位置するローカルプロキシで、Anthropicのベータ版プロンプトキャッシュ機能に必要なヘッダーを自動的に注入します。また、完全な会話履歴の再送信を避けるためのセッションメモリを実装し、コスト最適化のためのモデルルーターも含まれています。

TRELLIS.2 Image-to-3D、Apple Siliconネイティブ対応に移植
開発者が、Microsoftの40億パラメータを持つTRELLIS.2画像から3Dモデルへの変換モデルを、PyTorch MPSを介してApple Silicon上でネイティブに動作するよう移植しました。CUDA専用の操作を純粋なPyTorchの代替手段に置き換えています。この移植版は、24GBメモリを搭載したM4 Pro上で、単一の写真から約40万頂点のメッシュを約3.5分で生成します。

キャリア・オプスフォークがApifyを利用したLinkedIn求人発見機能を追加
開発者がcareer-ops Claude Codeシステムをフォークし、Apifyを使用してLinkedInの求人発見機能を追加しました。これにより、元のプロジェクトが事前設定された企業の採用ページしかスキャンできなかったという主な制限が解消されました。

オーディオエンジニアがClaude Codeでミックス分析ツールを構築
あるオーディオエンジニアが、Web Audio APIとClaudeを活用して、低音域の濁り、ヘッドルーム不足、埋もれたボーカルなどの問題点を特定し、具体的なフィードバックを提供するミックス分析ツールを開発しました。このツールは、簡単な分析が可能な無料プランと、詳細な周波数分析やプラグイン提案を含む有料のプロレポートを提供します。