Directory layout
init use this layout. The host still reads the earlier liveboard/ format, and updating an old package doesn’t require converting it.Plugin manifest: plugin.json
.minimax-plugin/plugin.json is the single source of truth for plugin identity, metadata, icon, Skills, MCP, and Apps. Mini App authoring never reinterprets or clears these fields..minimax-plugin/plugin.json
nameis a lowercase machine name of up to 80 characters that starts with a letter and may use digits and._-as separators. It is the Mini App’spluginId.versionuses SemVer.description,author, and everyexampleQueriesentry must be non-empty.iconpoints to a PNG, JPEG, or WebP inside the package.initprovides a default icon.apps,mcpServers, andskillskeep their ordinary plugin meaning; use empty arrays for capabilities you don’t have.
Entry declaration: package.json
package.json
package.json only needs this extension. The host never reads or runs engineering metadata such as packageManager, lockfiles, build scripts, or dependencies.Mini App declaration: miniapp.json
miniapp/miniapp.json
artifacts.clientandartifacts.nodeare both required. They define what the host hashes, adopts, and publishes; they can be source directories rather than build output, and they may overlap.runtime.entryis the Node entry, ending in.js,.mjs, or.cjs, inside the Node payload.lifecycleis alwayson-demand: enabling or scanning a plugin never starts the service.surface.pathis the page route served by the Node service.hostConnectorAccessandagentAccessare explicit grants; leave them out and you don’t get them. Declare them only when the runtime really needs them.
Payload rules
- The host doesn’t install dependencies or run builds. Ship something ready to run, and bundle or vendor third-party runtime dependencies into a payload directory. Prefer Node built-ins and browser APIs.
node_modulesis build state: it is never published and must not sit inside a declared payload.- Use portable relative paths: no absolute paths,
.., backslashes, or symlinks, and nothing outside the package. - Every file in a payload except
node_modulesgoes into the digest. Delete logs, caches, temporary files, and anything else you don’t want published before you publish.