Skip to Content
Addon Developmentmanifest.json reference

manifest.json reference

{ "schema": 1, "id": "com.anakatech.example.crypto", "name": "Crypto Tracker", "version": "1.2.0", "author": "Your Name", "license": "MIT", "description": "Live BTC/ETH tiles with configurable pairs.", "permissions": ["network.fetch", "storage.local", "voice.register"], "widget": { "entry": "dist/widget.js", "defaultRegion": "top-right", "minWidth": 2, "minHeight": 2 }, "settings": { "schema": "./settings.schema.json" }, "voice": { "intents": ["crypto.price", "crypto.alert"] }, "python": { "entry": "python/service.py", "optional": true }, "marketplace": { "tags": ["finance", "dashboard"], "homepage": "https://example.com", "donate": "https://ko-fi.com/example" } }

Field reference

FieldRequiredDescription
schemayesManifest format version understood by core
idyesReverse-DNS unique id
nameyesHuman title
versionyesSemver string
permissionsyesCapability tokens (see APIs)
widget.entryyes*JS bundle path *unless headless service-only addon
settings.schemanoJSON Schema for addon settings form
voice.intentsnoDeclares handled Piper intents
pythonnoSidecar interpreter launch config

⚠️ Warning: Changing id after release forks user settings — treat it as immutable forever.

Last updated on

Was this helpful?