- Rename all user-facing and technical identifiers from OpenPets/Pet to FamiliarOS/Familiar. - Rename packages from @open-pets/* to @familiaros/*; rename install-pet/pet-format packages. - Rename plugin IDs and directories from openpets.* to familiaros.*. - Rename IPC namespace from openpets:* to familiaros:* and state filenames from openpets-* to familiaros-* with legacy migration. - Rename source files (pet-window, built-in-pet, default-pet-controller, etc.) to familiar equivalents. - Update locales (en, es-419, ja, ko, pt-BR, zh-Hans, zh-Hant) and tray/pet context menu strings. - Add Familiar naming feature: preference, settings input, tray menu display. - Update assets and packaging config; all desktop tests pass. |
||
|---|---|---|
| .. | ||
| src | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
@familiaros/plugin-sdk
Type definitions for building FamiliarOS desktop familiar plugins.
This package is types only. There is no runtime to import — the FamiliarOS
desktop app injects the FamiliarOSPlugin global into your plugin's sandbox and
passes your start(ctx) handler the SDK. Installing this package gives your
editor autocomplete and type-checking; it never ships in your plugin.
Install
npm i -D @familiaros/plugin-sdk
Use
A plugin is a single browser-style JavaScript file. Reference the types for IntelliSense:
/// <reference types="@familiaros/plugin-sdk" />
FamiliarOSPlugin.register({
async start(ctx) {
await ctx.familiar.speak("Hello!")
await ctx.familiar.react("waving")
},
})
Or, in TypeScript, import the contract directly:
import type { FamiliarOSContext, FamiliarOSPluginDefinition } from "@familiaros/plugin-sdk"
Docs
- SDK guide: https://familiaros.dev/sdk
- Full reference: https://familiaros.dev/docs/plugin-sdk
- Example plugins: https://github.com/alvinunreal/familiaros/tree/main/plugins/official