Skip to content

Develop

Documentation for power users and contributors who want to extend the Modular Text Editor.

The editor exposes a backend-agnostic plugin contract called PluginApi: pure C++ abstract interfaces with no Qt or Scintilla types, so the same plugin contract can be fulfilled by more than one backend. Two backends ship today:

  • The native Qt loader for C++ plugins compiled to a shared library.
  • The Python worker — spawn a Python subprocess per plugin, expose the same services over a JSON RPC channel. Phase 1 shipped 2026-07-01 (commands, menus, events, log, status bar); phases 2–5 (editor buffer + settings, declarative UI, installer + SDK, per-plugin venv) are queued.

  • Architecture overview — how the plugin subsystem fits together (PluginApi, PluginHost, first-party plugins).

  • Writing a plugin — build your first native plugin.
  • Plugin API reference
  • Python plugins — build your first Python plugin. Includes an authoring-with-Claude guide designed for handing to an AI assistant.

Source of truth

These pages are a reader-friendly distillation of the repository's PLUGIN_ARCHITECTURE.md, which remains the canonical, always-current spec for the contract. When in doubt, the header files in Components/PluginApi/Include/PluginApi/ are authoritative.