Developers

Plugins let you extend Overseer with custom tile content, themes, translations, and premade GM screens. A plugin is a directory with a manifest.json and whatever assets it needs.

The hierarchy

Plugins are the top-level unit. A plugin can contain any combination of:

Extensions — Custom tiles powered by your own HTML, CSS, and JavaScript. Embed an existing website, build a standalone tool, or wire up extensions that talk to each other through events.

Themes — Custom color schemes. Define a set of CSS custom properties and your theme appears in Settings > Theme.

Locales — Language translations. Provide a Fluent (.ftl) file and your locale appears in Settings > Language.

Presets — Premade GM screens, ready to load. A preset packages up screens, tiles, extensions, and backgrounds into a layout that other GMs can use immediately.

Each type has its own manifest.json. The plugin’s root manifest.json references the others:

{
  "id": "@yourname/my-plugin",
  "name": "My Plugin",
  "version": "1.0.0",
  "extensions": [
    { "$ref": "extensions/session-timer/manifest.json" }
  ],
  "themes": [
    { "id": "dark", "label": "Dark Mode", "src": { "$ref": "themes/dark.css" } }
  ]
}

Where to start

First time? The Getting Started tutorial walks through building a working plugin from scratch and publishing it to the marketplace.

Building an extension? Start with Building Extensions for a guide on each extension type.

Looking up fields? The Extension Manifest and Plugin Manifest references document every available field.

Using the event system? The SDK Reference covers the API for sending and receiving events between extensions.

Publishing? The CLI Reference and Publishing a Plugin guide cover the full release workflow.