Extensions
Extensions are server-side Node packages that add capabilities to Terminay through a
versioned API, @terminay/extension-api. The current API version is 3.1.
Contribution types
An extension declares one or more of these in its manifest and registers a runtime for each during activation.
| Contribution | What it does | Permission | Reference |
|---|---|---|---|
Agent session sourceagentSessionSources | Reports the live coding-agent sessions of its harnesses on the server's machine. | agent-observation | Agent session sources |
MCP install targetmcpInstallTargets | Writes, checks, and removes the Terminay MCP server registration in one client's configuration. | mcp-registration | MCP install targets |
Language serverlanguageServers | Tells Terminay how to launch a language server for a set of languages and file extensions. | None | Language servers |
Worktree insight sourceworktreeInsights | Publishes a pull request and CI checks for each Git worktree of an open project. | worktree-observation | Worktree insights |
Themes, editor plugins, commands, renderer components, and custom protocol operations are not supported contribution kinds.
How an extension runs
- You publish or pack a standard npm package with a
terminaymanifest inpackage.json. - An administrator installs it on the selected Terminay Server from Settings → Extensions.
- Terminay validates the manifest, starts the package in its own Node process, and calls
activate(context). - The extension registers a runtime for each contribution its manifest declares.
Terminay owns the UI, navigation, ordering, and canonical state. An extension supplies bounded facts and never loads code into a client.
Bundled extensions
Terminay ships three official extensions built on the same public API, with no private access. They are useful as reference implementations.
| Extension ID | Contributes |
|---|---|
com.terminay.builtin-agents | One session source for Claude Code, Codex, Grok, and oh-my-pi, plus six MCP install targets. |
com.terminay.language.typescript | A TypeScript and JavaScript language server. |
com.terminay.gitea | A worktree insight source for Gitea pull requests and commit statuses. |