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

リブレット:AIコーディングエージェント向け決定論的ブラウザ自動化生成
Librettoは、AIコーディングエージェントが実行時AIエージェントから離れ、実際のコードとして決定論的なブラウザ自動化スクリプトを生成できるようにするSkill+CLIツールキットです。信頼性のためにPlaywright UI自動化と直接ネットワーク/APIリクエストを組み合わせ、ステップ実行デバッグや読み取り専用モードを含みます。
6つの役割、記憶、ADHD対応設計を備えたOpenClaw AIエージェント:日常業務の内訳
ADHDを持つ個人開発者が、6つの役割(アクションプランナー、デブリーファー、ライター、法務、調査、CRM)を持つオープンソースAIエージェントを構築。メモリを共有し、トランスクリプトからフォローアップやドラフトを自動生成する。

抽出を超えた永続的インデックス:YouTube MCPサーバーのアーキテクチャ
開発者が、一般的な「抽出して忘れる」パターンとは対照的に、永続的なローカルインデックスを実装したYouTube MCPサーバーの構築に関する詳細なアーキテクチャノートを共有しました。主要な決定事項には、3段階のフォールバックシステム、ベクトルストレージ用のSQLite + sqlite-vec、埋め込みプロバイダーの抽象化、および独立した視覚検索インデックスが含まれます。

MLJAR Studio:生成可复现笔记本的本地AI数据分析工具
MLJAR Studioは、自然言語の質問をローカルで実行されるPythonノートブックに変換するデスクトップアプリです。表形式データ向けのAutoMLを備え、Ollamaを介したローカルLLMをサポートします。