Develop
Plugin SDK
SubakoOS includes Python and TypeScript SDKs for trusted third-party functionality. Plugins can declare metadata, register backend behavior, participate in lifecycle management, and integrate with the event system.
Plugin shape
A plugin begins with a manifest.json describing identity and capabilities, plus its implementation package. The built-in plugins under plugins/ provide working examples for family profiles, lists, calendars, chat, communication, and content filtering.
my-plugin/
manifest.json
__init__.py
routes.pyPython SDK
The Python package lives at plugins/sdk/python/subakoos_plugin. It provides the plugin-facing application contract and optional FastAPI integration.
python -m pip install -e plugins/sdk/pythonTypeScript SDK
The TypeScript package lives at plugins/sdk/js and builds declarations alongside its JavaScript output.
cd plugins/sdk/js
npm install
npm run buildDevelopment guidance
- Use a globally unique slug and keep manifest identity stable.
- Request only the capabilities the plugin actually needs.
- Keep host-facing operations behind established SubakoOS services.
- Return health information that helps an operator diagnose failures.
- Treat configuration and secret values as sensitive data.
- Add route and lifecycle tests before distributing the plugin.
Trust model
Plugins execute as server software, not as isolated webpage extensions. Install only code you trust, verify registry signatures where available, and review changes before upgrades.
The plugin interfaces are evolving with the platform. Use the checked-in SDK source and built-in examples as the compatibility reference for the SubakoOS revision you target.
