Manifest overview
Every AppOS plugin ships a plugin.json manifest at its root. The manifest
declares the plugin’s identity, when it activates, which permissions it needs,
and any system or plugin dependencies.
The manifest is validated against the JSON Schema at
schemas/plugin-v1.json.
Add a $schema reference for editor autocomplete:
{ "$schema": "https://appos.space/schemas/plugin-v1.json", "id": "com.example.my-plugin", "name": "My Plugin", "version": "1.0.0", "runtime": "javascript", "entrypoint": "dist/main.js"}Required fields
Section titled “Required fields”id, name, version, and runtime are always required. Plugins with
"runtime": "javascript" (all third-party plugins) must also declare
entrypoint. "core-swift" is reserved for host-bundled core plugins.
Key sections
Section titled “Key sections”- Field reference — every manifest field, generated from the JSON Schema.
- Permission scopes — the full catalog of
scopes accepted in
permissions, generated from the SDK’s machine-readable constraints. - Limits — host-enforced runtime quotas (storage, shell, network, and more).
- Extension points — the
extensions[]array for contributing to core-plugin extension points.
Validation
Section titled “Validation”This repo ships a validator you can run locally against any manifest:
node scripts/validate-schema.mjs path/to/plugin.json