Plugin authors
Extending the client: what a plugin is, the capabilities it asks for, a first plugin step by step, the TypeScript SDK and how it is published, the rim-plugin.json manifest, web plugins in a sandboxed frame, the desktop host and its example plugins, and signed workspace plugins.
The model
- Plugin ModelThis document explains what a RIM plugin is, who owns which part of the plugin system, and how plugins fit the command, keybind and agent model. It is an overview: the contracts are the specs it links to, and when this …rim-server/docs/plugin_model.md
- Capability And Security ModelThis document defines the capability and security model for RIM.rim-server/docs/capability_security_model.md
Building a plugin
- Your first pluginThis walk-through builds a local-process plugin with the TypeScript SDK: a command in the palette, a panel beside the conversation, then a permission to read the open conversation. It ends with the plugin installed from …rim-ui/docs/plugin-tutorial.md
- @rim-platform/plugin-sdkWrite a RIM plugin in TypeScript. A plugin is either a local process the RIM desktop app starts and talks to over stdio (DesktopLocalProcess), or a bundle that runs in a sandboxed frame of the app, on the desktop and on …rim-ui/sdk/plugin-sdk/README.md
- The plugin manifestEvery plugin carries rim-plugin.json at the root of its folder or bundle. This page lists each field the desktop parser accepts, in the order of PluginManifest in manifest.rs, with the install rules of validation.rs, …rim-ui/docs/plugin-manifest.md
- Web pluginsA WebSandboxed plugin is a bundle (rim-plugin.json, one self-contained ES module, optional panels) that runs in a sandboxed iframe of the app instead of a local process. The same bundle runs in the web app and in the …rim-ui/docs/web-plugins.md
- Workspace pluginsEach workspace keeps a registry of plugins it recommends or requires. An entry pins one exact version through a statement its publisher signed with their identity key: the exact rim-plugin.json, and either a bundle's …rim-ui/docs/workspace-plugins.md
- Plugin chat methods (rim.chat.*)The client message service lets a plugin read and post the person's messages. It is the same for a web plugin and a local process: the web host calls it in the page, and the Rust broker relays a local process's calls to …rim-ui/docs/plugin-chat-methods.md
The desktop host and examples
- Local Plugin HostThis document describes how the RIM desktop app hosts DesktopLocalProcess plugins: where they live, how they are installed and started, and how their panels are hosted. plugin_model.md explains the plugin model as a …rim-server/docs/local_plugin_host.md
- Hello World PluginReference in-tree plugin for the RIM plugin host: the smallest working local process plugin, with one command and a panel that talks to the host through the raw postMessage bridge instead of the plugin SDK. It exercises …rim-ui/plugins/hello-world/README.md
- TypeScript template pluginA starting point for a RIM plugin written with the TypeScript SDK. It has two commands:rim-ui/plugins/template-ts/README.md