Build a plugin for OpenVCS
OpenVCS plugins run as long-lived Node.js processes and are authored in TypeScript.
Current runtime model
- Package format: npm packages or local npm folders resolved from config.
- Runtime entrypoint:
bin/<module>.mjs|.js|.cjs. - Transport: JSON-RPC over stdio.
- Runtime host: long-lived Node.js plugin processes started by the desktop backend.
- Security model: trust-based, without per-capability permission prompts.
- Runtime requirement: the app-bundled Node runtime is required; there is no system
nodefallback.
What this means for plugin authors
- Plugins are not WASM or WASI modules.
- Plugin code runs out of process, which keeps extension logic separate from the host application.
- The SDK provides shared runtime and type helpers so authors can implement the host contract without rebuilding the transport layer.
For the current host/runtime contract and bundle layout, see:
Client/docs/plugin architecture.mdClient/docs/plugins.md