Skip to content

Eidos Plugins

Eidos plugins execute locally in an isolated sandbox, install once per device, and enable per Space.

Plugins can provide custom viewers and editors for any file format, register global or file-bound commands, mount independent dashboard panels in the sidebar, and directly access the local filesystem.


The fastest way to build an Eidos plugin is a single TypeScript file. Eidos Lite compiles and runs it directly—no build steps, no dependencies, no configuration.

Create a file named hello.ts anywhere on your computer:

hello.ts
import type { ExtensionContext, PluginManifest } from "@eidos.space/plugin-sdk"
export const manifest: PluginManifest = {
apiVersion: 1,
id: "example.hello",
name: "Hello World",
version: "0.1.0",
actions: [
{
id: "say-hello",
title: "Hello World",
context: "workspace",
},
],
placements: [{ location: "command-palette", action: "say-hello" }],
}
export default function activate(ctx: ExtensionContext) {
ctx.actions.register("say-hello", async ({ ui }) => {
await ui.notify("Hello from Eidos Plugin! 🎉")
})
}
  1. Open Eidos Lite and enter any Space.
  2. In the top toolbar, click the Plugins icon (between Search and the Space more menu).
  3. Click Load development source… and select your hello.ts file.
  4. Review the declared capabilities and enable the plugin for this Space.

Press Cmd+K (or Ctrl+K on Windows/Linux), type Hello World, and press Enter.

A toast notification appears: Hello from Eidos Plugin! 🎉. Whenever you edit and save hello.ts, Eidos Lite automatically recompiles and hot-reloads the plugin.


All views and actions have access to a set of core capabilities on the context object (ctx.fs, ctx.storage, ctx.network, ctx.settings, ctx.ui):

Capability Interface User Entry Point
Custom File Views
Handle Markdown, CSV, video, PDF, binary, or .eidos databases
View (context: "file") File context menu → Open with
Independent Panels
Build Space dashboards, metrics boards, or admin tools
View (context: "page") Left sidebar navigation (navigation)
Commands and Actions
Text statistics, file automation, or batch processing
Action (context: "workspace" | "file") Command Palette (Cmd+K), file context menu, shortcuts
Dynamic Table Actions
Table record operations, batch runs, and progress tracking
Table Action Provider (registerTableProvider) Table row/selection context menu (table/context)
Table Embedded Views
Display records as charts, maps, or boards within a table
View (context: "table") Table view menu → New view (table/view)
Host Themes
Customize the complete Eidos Lite light/dark interface
Theme Package (kind: "theme") Global plugin manager settings

  • Single-File Mode (.ts / .js): Export manifest and default activate (actions) or mount (UI). Perfect for scripts, lightweight utilities, and quick prototypes with zero build tooling.
  • Full Project Mode (npx / CLI): Scaffolds a complete project directory with npx @eidos.space/plugin-tools create or eidos plugin create, including plugin.json, TypeScript, React, CSS, and automated bundling into .eidos-plugin offline distribution packages via npm run pack:plugin.