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

TradingView MCP-Server ermöglicht es Claude, Handelsstrategien zu backtesten
Ein Entwickler hat einen MCP-Server veröffentlicht, der es Claude ermöglicht, sechs Handelsstrategien mit Yahoo-Finance-Daten ohne API-Schlüssel zu backtesten. Die Einrichtung erfordert das Hinzufügen einer Zeile zur claude_desktop_config.json-Datei.

Entwickler erreicht Sub-Sekunden-Latenz bei STT/TTS mit lokalen Whisper- und Coqui-TTS-Servern
Ein Entwickler hat Open-Source-Server-Implementierungen für Whisper STT und Coqui TTS veröffentlicht, die eine Latenz von etwa 0,2 Sekunden für Spracherkennung und etwa 250 ms für Sprachsynthese erreichen, wodurch konversationelle KI-Agenten ohne Cloud-Abhängigkeiten ermöglicht werden.

Claude Code-Fähigkeiten für automatisiertes Projektgerüst
Ein Entwickler hat Claude Code-Fähigkeiten erstellt, die die Einrichtung von Full-Stack-Projekten mit Befehlen für React, Next.js, Node.js-APIs und Turborepo-Monorepos automatisieren. Die Fähigkeiten ziehen die neuesten Abhängigkeiten, unterstützen über 50 Integrationen und sind unter der MIT-Lizenz verfügbar.

Verwendung einer Smart Pixel Clock für Claude AI-Abschlussbenachrichtigungen
Ein Reddit-Nutzer teilt eine Methode, um Benachrichtigungen über die Fertigstellung von Claude AI mithilfe einer ULANZI TC001 Smart Pixel Clock mit benutzerdefinierter Firmware und einem HTTP-Endpunkt anzuzeigen.