Skip to content

Plugin Development

MIFY supports a plugin system that lets you extend the platform with custom nodes, adapters, and credentials.

Extension PointWhat You Can Add
NodesCustom processing nodes for workflows
AdaptersIntegrations with external platforms
CredentialsCustom credential types for your integrations

Use the MIFY Plugin CLI:

Terminal window
npx mify-plugin init my-plugin
cd my-plugin

This creates a plugin project with:

  • manifest.json — plugin metadata and configuration
  • src/ — plugin source code
  • tests/ — test files

The plugin manifest (v1.4.0) describes your plugin:

{
"name": "my-plugin",
"version": "1.0.0",
"description": "What my plugin does",
"author": "Your Name",
"mifyVersion": ">=1.0.0",
"extensionPoints": {
"nodes": ["src/nodes/MyNode.ts"],
"adapters": ["src/adapters/MyAdapter.ts"]
},
"permissions": ["network", "storage"],
"runtime": "v8"
}

For a custom node:

export class MyNode implements NodeImplementation {
async execute(input: Record<string, unknown>, context: ExecutionContext) {
// Your logic here
return { result: "processed" };
}
}
Terminal window
npx mify-plugin dev # Start dev server with hot reload
npx mify-plugin test # Run tests
npx mify-plugin validate # Check manifest and code
Terminal window
npx mify-plugin publish

Published plugins appear in the Plugin Marketplace at /plugins/marketplace.

Browse and install plugins at /plugins/marketplace:

  • Search by category and capability
  • View ratings and reviews
  • One-click install for verified plugins
  • Version pinning and channel selection (stable/beta/canary)

Plugins run in sandboxed environments:

RuntimeUse Case
V8JavaScript/TypeScript plugins (default)
WASMWebAssembly plugins for performance-critical code
HookWhen Called
onInstallPlugin first installed
onUpgradePlugin version updated
onRemovePlugin uninstalled
  • Install: /plugins/marketplace/[id] → Install
  • Configure: /plugins/[id]/settings → Plugin-specific settings
  • Register custom: /plugins/register → Upload your own plugin
  • Admin: /admin/plugins → Manage all installed plugins