Manifest Reference

Schema

FieldTypeRequiredDescription
idstringReverse-domain unique ID
namestring or mapDisplay name, supports locales
descriptionstringShort summary
versionstringSemVer
entrystringPath to init entry
preloadstringRenderer preload file
dev.enablebooleanEnable hot reload
permissionsstringclipboard, storage, network, ...
acceptedInputTypesstringtext, image, files, html
featuresobjectCoreBox commands, widgets, workflow nodes

Example

{
  "id": "com.tuff.todo",
  "name": {
    "default": "Todo",
    "zh-CN": "待办"
  },
  "description": "Capture and sync todos",
  "version": "1.3.0",
  "entry": "init/index.ts",
  "features": [
    {
      "type": "corebox",
      "id": "todo.new",
      "title": "Create Todo",
      "keywords": ["todo", "task"],
      "queryMode": "text"
    }
  ],
  "permissions": ["storage", "clipboard"],
  "acceptedInputTypes": ["text", "files"]
}

Validation Checklist

  • id must be unique and alphanumeric with dots.
  • version follows major.minor.patch for update ordering.
  • Declaring network requires whitelisting external domains.

Frequent Issues

IssueFix
Missing entrySet entry to init/index.ts and ensure the file exists.
Excessive permissionsRequest only what you truly need, especially for v1.
Keyword collisionsNamespace features like todo.* to avoid conflicts.