Skip to content

Overview

Most of TeamHUD’s UI is overlay widgets — a draggable hub button that opens a panel. There are two ways to build one; pick by what your widget needs.

  • Custom widget — a drop-a-folder UI (index.html + widget.json). No build step, hot-reloaded, and locked down by default: it gets a limited set of capabilities declared in its manifest (and can run a restricted Node.js backend), but it can’t extend TeamHUD’s internals or reach native code. Best for standalone panels, tools, and dashboards.
  • Plugin — a TypeScript package (BasePlugin) that provides a widget and runs in-app with full trust. A widget is one of the things a plugin can add; reach for a plugin when your widget needs to extend TeamHUD’s internals rather than run in the locked-down tier.
Custom widgetPlugin
You writeindex.html + widget.jsona TypeScript package (BasePlugin)
Build stepnone (hot-reloaded)tsc / bundle build
Backendoptional, Node.js w/ limited access to TeamHUD internalsfull Node, in-process
Capabilitieslimited, granted per manifest — locked down by defaultfull trust; extends TeamHUD internals
Start hereBuild your first custom widgetBuild your first plugin

Rule of thumb: start with a custom widget — it’s minutes to a running panel and locked down by default. Build a plugin when the widget needs to extend TeamHUD’s internals or run with full trust.

  • Quickstart — see a widget on screen in five minutes.