Repository navigation
Plugins
Roy Padina edited this page Oct 6, 2026
·
1 revision
Most conditions and actions ship as plugins, and you can add your own. A plugin is a folder with a plugin.json manifest declaring one or more providers (conditions and/or actions).
- declarative: pure JSON. An action is a transform pipeline (regex-replace, case, trim, prepend/append); a condition is a predicate tree (regex / contains / kind / source-app, combined with all / any / not). No code.
-
javascript: a small sandboxed script with no network, no filesystem, no timers and a ~250 ms watchdog. Export
transform(text)for an action ormatches(input)for a condition.
Plugins are text transforms and conditions only. They cannot open URLs or launch apps. For that, use the builtin actions (see Actions and Rules).
{
"id": "com.example.my-plugin",
"name": "My Plugin",
"version": "1.0.0",
"description": "What it does.",
"capabilities": ["action"],
"providers": [
{
"id": "com.example.my-plugin.my-action",
"name": "My Action",
"description": "Transforms the clipboard value.",
"kind": "action",
"engine": "javascript",
"entry": "src/my-action.js"
}
]
}- GUI: Settings → Plugins. Browse the marketplace, install and uninstall packages, enable or disable each one, and add local folders while developing. First-party plugins ship bundled and can be disabled.
-
CLI:
plugins list|enable|disableandfolders list|add|remove. See Command line. Marketplace install and uninstall are GUI-only.
The official marketplace is roypadina/MaccyPlus-Plugins; its docs/ explain how to author and publish a plugin.
MaccyPlus · MIT © Roy Padina · Support on Ko-fi ☕