SDK im Überblick
Drei npm-Pakete teilen sich eine Versionslinie und eine MIT-Lizenz: @pithyx/sdk ist die API zwischen einer App und dem Desktop, @pithyx/ui sind die React-Komponenten und Design-Tokens des Desktops, und @pithyx/cli ist der Befehl pithyx, der Apps prüft, entwickelt und paketiert. Das System selbst steht unter AGPL-3.0.
| Paket | Was es ist | Braucht React |
|---|---|---|
@pithyx/sdk |
connect() und die API PithyxApp; JSON-Schemas für Manifeste, Compose-Regeln und Kataloge |
nein |
@pithyx/ui |
Buttons, Felder, Menüs, Dialoge und tokens.css, gebaut auf React Aria Components |
ja (19) |
@pithyx/cli |
Der Befehl pithyx (validate, lock, build, pack, dev, catalog) und ein Vite-Plugin |
nein |
@pithyx/sdkhat den Einstiegspunkt., den Unterpfad./i18n(ein kleiner Meldungs-Helfer für Apps) und./host(die Seite des Desktops, nicht für Apps). Die Schemas liegen unter@pithyx/sdk/schema/. Es funktioniert mit jedem Framework oder reinem HTML. Siehe @pithyx/sdk.@pithyx/uiexportiert die Komponenten,@pithyx/ui/native(Klassennamen für einfache HTML-Elemente) und@pithyx/ui/tokens.css. Siehe @pithyx/ui.@pithyx/cliexportiert die Validatoren als JavaScript-API,@pithyx/cli/viteund ein Vorlagen-Icon. Es braucht Node.js 22.12 oder neuer. Siehe @pithyx/cli.
Core-Apps und Apps von Dritten nutzen dieselbe SDK-API. Core-Apps verbinden sich im selben Prozess, Apps von Dritten über einen MessageChannel aus ihrem Sandbox-iframe.
Versionen und Kanäle
Abschnitt betitelt „Versionen und Kanäle“Alle drei Pakete tragen dieselbe Version, unabhängig von der Pithyx-Version. Es sind Release Candidates von 1.0.0 (1.0.0-rc.<n>), deren API sich vor 1.0.0 noch ändern kann. Release Candidates werden unter dem npm-Dist-Tag next veröffentlicht.
Kompatibilitätsregeln (aus sdk/src/version.ts):
- Eine neue Methode, ein neues Ereignis oder ein neues optionales Feld ist eine Minor-Änderung; eines zu entfernen oder zu ändern ist eine Major-Änderung.
- Ein veraltetes Feature funktioniert bis durch die nächste Major-Version weiter.
- Ein Desktop der Major-Version N+1 liefert weiterhin Apps aus, die für N gebaut wurden.
- Das Wire-Protokoll hat eine eigene Version (
PROTOCOL_VERSION, derzeit 1). Ergänzungen innerhalb einer Version findest du überapp.supports(method)undapp.context.capabilities. - Das Manifest-Schema, die Compose-Regeln und die Katalogformate sind stabile Verträge: Lockern ist eine Minor-Änderung, alles andere eine Major-Änderung.
Installieren
Abschnitt betitelt „Installieren“npm install @pithyx/sdk@nextnpm install @pithyx/ui@next react react-domnpm install --save-dev @pithyx/cli@nextDie Pakete sind Release Candidates von 1.0 unter dem npm-Dist-Tag next, den diese Befehle nennen; latest kann noch auf einen älteren Kandidaten zeigen, bis 1.0.0 erscheint. Die Pakete liefern TypeScript-Typen mit TSDoc-Kommentaren; im Repository baut pnpm docs:api mit TypeDoc eine API-Referenz von @pithyx/sdk und @pithyx/ui. Beginne mit Deine erste App.