Marta for Plugin Developers

Marta has a public API for making plugins. It is available through the MartaApi Swift framework which is a part of the Marta application bundle.

Plugin is a macOS bundle (.plugin and .bundle extensions are supported). Marta loads plugins from the ~/Library/Application Support/org.yanex.marta/Plugins directory. The bundle’s principal class should conform to the Plugin protocol (and if you want to provide additional actions, conform to the ActionProvider protocol as well).

You can use all Cocoa API, and you have access to the pane’s list model and the virtual file system. Plugins can also include custom configuration (Contents/Resources/conf.json) and themes (Contents/Resources/Themes).

※ macOS applications have a flat namespace, so the names of your classes should start with some prefix. See Apple Developer documentation for more information.