Skir: Eine moderne Alternative zu Protocol Buffers für typsicheren Datenaustausch

Was Skir leistet
Skir ist eine moderne Alternative zu Protocol Buffers, die als einzige Quelle der Wahrheit für Datentypen dient. Sie schreiben Ihr Schema einmal in einer .skir-Datei und generieren idiomatischen, typsicheren Code für mehrere Sprachen.
Wichtige Funktionen und Arbeitsablauf
Die gesamte Konfiguration befindet sich in einer YAML-Datei. Sie können ein Projekt mit npx skir init initialisieren. Der Watch-Modus kompiliert automatisch neu, wenn sich Dateien ändern.
Hier ist ein Beispielschema aus der Quelle:
struct Point {
x: int32;
y: int32;
label: string;
}
struct Shape {
points: [Point];
/// Eine kurze Beschreibung dieser Form.
label: string;
}
const TOP_RIGHT_CORNER: Point = {
x: 600,
y: 400,
label: "oben-rechts Ecke",
};
Verwendung des generierten Codes
Der generierte Code enthält Serialisierungs- und Deserialisierungsmethoden. Für 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"
Schemaevolution und RPC-Unterstützung
Skir umfasst integrierte Prüfungen und Richtlinien für sichere Schemaevolution in langlebigen oder verteilten Systemen. Es unterstützt auch RPCs mit durchgängiger Typsicherheit ähnlich wie gRPC.
Beispiel-RPC-Definition:
struct WhatToWearRequest {
temperature_celsius: float32;
raining: bool;
}
struct WhatToWearResponse {
bottom_outfit: string;
sunglasses: bool;
}
method WhatToWear(WhatToWearRequest): WhatToWearResponse = 770862;
Zusätzliche Funktionen
- Serialisierung in kompaktes JSON (ermöglicht Schemaevolution), lesbares JSON (für Debugging) oder Binärformat (für Leistung)
- Integrierter Paketmanager, der Typen direkt aus GitHub-Repositories importiert
- VS Code-Erweiterung mit Echtzeitvalidierung, Codevervollständigung und automatischer Formatierung
- Unterstützte Sprachen: TypeScript, Python, C++, Java, Kotlin, Dart
Für wen es gedacht ist
Teams mit gemischten Sprachstacks, die typsicheren Datenaustausch zwischen Diensten benötigen, besonders nützlich für Full-Stack-Anwendungen mit verschiedenen Frontend- und Backend-Sprachen.
📖 Read the full source: HN AI Agents
👀 Siehe auch

Verwendung von OpenAI Codex IDE mit lokalen Ollama-Modellen in VSCodium
Der OpenAI Codex IDE kann so konfiguriert werden, dass er mit lokalen Ollama-Modellen in VSCodium arbeitet, indem spezifische Konfigurationen in der config.toml-Datei verwendet werden.

Anpassung von Claude AI für verbesserte Rückmeldungen
Passen Sie die Einstellungen von Claude AI an, um übermäßige Zustimmung zu vermeiden und mehr kritisches Denken sowie praktisches Feedback zu fördern.

SLayer: Eine quelloffene semantische Schicht für KI-Agenten, die aus Abfragen lernt
SLayer ist eine leichte, einbettbare semantische Schicht, die es KI-Agenten ermöglicht, Datenbanken abzufragen, Modelle zu verwalten und aus Interaktionen über MCP, REST, CLI oder Python zu lernen.

Claude Dispatch Beta: Einrichtungstipps und erste Eindrücke
Ein Entwickler teilt seine Erfahrungen mit der Einrichtung der Dispatch-Beta auf einem Mac Mini und hebt die Notwendigkeit einer konstanten Betriebsbereitschaft, spezifischer Erfolgskriterien und aggressiver Berechtigungen bei aktiviertem Computer Use hervor.