Glyph Plugin Docs
Glyph plugins are small JavaScript modules that extend the app: command-palette commands, status bar items, sidebar and settings panels, markdown rendering, exporters, styles, translations, and notifications. They run through a single capability object (ctx), never with direct filesystem or shell access, and can opt into a network-fenced worker sandbox.
Where to go
I want to write a plugin
- Getting Started: scaffold from the template, build, install locally
- Recipes: a worked example for every contribution point
- API Reference: everything on
ctx, with per-version markers - Bundling: write many files, ship one
main.js
I want to publish or install plugins
- Publishing: manifest, releases, sha256, the marketplace index
- Plugin Catalog: what's published and what each plugin asks for (generated; each plugin's own README is its page)
I want to improve the plugin system itself
- Contributing: host code map, how to propose API surface, gates
- Ecosystem: the three repos and how versions flow between them
At a glance
A plugin is a folder with two files:
my-plugin/
├── manifest.json # id, name, version, apiVersion (+ files, permissions, sandbox)
└── main.js # pre-built ES module, default-exports { activate }
export default {
activate(ctx) {
ctx.commands.register({
id: "my.hello",
title: "My Plugin: Hello",
run: () => ctx.notify("Hello!"),
});
},
};
Install it in Glyph via the command palette (Cmd/Ctrl+K) → Manage Plugins… → Install from folder…, or publish it to the marketplace so others can one-click install.
Start from the plugin template (click Use this template): it has the build, types, and a working sample wired up.