Manifest
Declares identity in package.json → zcc: name, app/server entries, skills, MCP, and engines.zcc.
The plugin SDK is the public contract between your TypeScript package and Zana. After a loud full-trust confirm, plugins load in-process on the server and register UI slots in the app.
Declares identity in package.json → zcc: name, app/server entries, skills, MCP, and engines.zcc.
definePluginApp registers nav panels and other slots. The host React instance is globalThis.__ZCC_HOST_REACT__.
export default function plugin(zcc) receives ZccPluginApi in-process on the server. Host-daemon tokens never reach the plugin.
Adds skills, MCP servers, settings, and extra metadata declared in the zcc block.
Plugins are not sandboxed Electron guests. The control is install/enable, exact version pinning, engines.zcc, and a loud confirm that lists skills, MCP, and extra the grant would add.
App entries register slots instead of importing core modules. That keeps plugins aligned with the host lifecycle and prevents fragile imports of implementation details.