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
- Overview — the core interfaces.
- Commands & menus
- Settings pages
- Events
- Translations
- 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.