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.
Quickstart: Hello World in 30 Seconds
Section titled “Quickstart: Hello World in 30 Seconds”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.
1. Create hello.ts
Section titled “1. Create hello.ts”Create a file named hello.ts anywhere on your computer:
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! 🎉") })}2. Load into Eidos Lite
Section titled “2. Load into Eidos Lite”- Open Eidos Lite and enter any Space.
- In the top toolbar, click the Plugins icon (between Search and the Space more menu).
- Click Load development source… and select your
hello.tsfile. - Review the declared capabilities and enable the plugin for this Space.
3. Run the Command
Section titled “3. Run the Command”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.
Plugin Capabilities
Section titled “Plugin Capabilities”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 |
Two Development Modes
Section titled “Two Development Modes”- Single-File Mode (
.ts/.js): Exportmanifestand defaultactivate(actions) ormount(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 createoreidos plugin create, includingplugin.json, TypeScript, React, CSS, and automated bundling into.eidos-pluginoffline distribution packages vianpm run pack:plugin.