bootstrap
Adom Hydrogen (platform base)
Public Made by Adomby adom
Layer Hydrogen's workspace onto a standard Adom workstation.
← Commit history
0.5.42: about/refresh for the clock; skill 1.4.0 with the hover card
4 files changed
+21−5
hydrogen-widget.json+3−1@@ -15,5 +15,7 @@ "url": "/", "timeout_seconds": 60 },- "docs": "widgets/README.md"+ "docs": "widgets/README.md",+ "about": "A clock: the time and date from the workspace, redrawn every fifteen seconds. Nothing is asked of anyone; it exists to be copied.",+ "refresh": "its own clock every 15 seconds; no network" }
package.json+1−1@@ -4,7 +4,7 @@ "type": "bootstrap", "title": "Adom Hydrogen (platform base)", "brief": "Layer Hydrogen's workspace onto a standard Adom workstation.",- "version": "0.5.41",+ "version": "0.5.42", "description": "Hydrogen's PLATFORM-GENERIC workspace layer on top of adom/core. Installs adom/core for the full Adom ecosystem, then adds everything common to running inside Hydrogen on ANY platform: the runtime-neutral hydrogen-* skills and the generic editor configuration (Claude Code CLI + extension, VS Code settings, trusted domains). Platform-specific layers depend on THIS: adom/hydrogen-windows-bootstrap (WSL2), adom/hydrogen-mac-bootstrap, adom/hydrogen-ubuntu-bootstrap. The reference design other orgs copy to build their own bootstrap on adom/core.", "org": "adom", "tags": [
page.json+2−2@@ -4,7 +4,7 @@ "type": "bootstrap", "title": "Adom Hydrogen (platform base)", "brief": "Layer Hydrogen's workspace onto a standard Adom workstation.",- "version": "0.5.41",+ "version": "0.5.42", "description": "Hydrogen's PLATFORM-GENERIC workspace layer on top of adom/core. Installs adom/core for the full Adom ecosystem, then adds everything common to running inside Hydrogen on ANY platform: the runtime-neutral hydrogen-* skills and the generic editor configuration (Claude Code CLI + extension, VS Code settings, trusted domains). Platform-specific layers depend on THIS: adom/hydrogen-windows-bootstrap (WSL2), adom/hydrogen-mac-bootstrap, adom/hydrogen-ubuntu-bootstrap. The reference design other orgs copy to build their own bootstrap on adom/core.", "org": "adom", "tags": [@@ -49,4 +49,4 @@ "hydrogen editor configuration", "where do hydrogen skills come from" ]-}+}
skills/hydrogen-widget/SKILL.md+15−1@@ -1,7 +1,7 @@ --- name: hydrogen-widget description: "Build, list, open and drive Hydrogen Widgets: small live panels in Hydrogen Desktop's Title Bar (Claude usage, Codex usage, a clock, or your own), each served by a binary inside the workspace and mounted in a sandboxed slot. Covers the hydrogen-widget.json facet a wiki repo carries (alone, or next to its dock manifest and project workspace), the per-widget page the pulldown links to, the launch contract (HYDROGEN_WIDGET_ID / _PORT / _SLOT / HYDROGEN_PROXY_PORT, the health URL, the explicit takeover, stop-first relaunch), the tall and compact layouts, vendor marks, private repos (read with the user's session), the curated list on adom/hydrogen-bootstrap, the Hydrogen Widgets pulldown, and the control API (GET /widgets, POST /widgets/open|close|navigate|refresh|menu, GET /widgets/status) so an AI can do all of it with no mouse. Trigger words: hydrogen widget, hydrogen-widget, title bar widget, widgets pulldown, widget slot, claude usage widget, codex usage widget, tokens left widget, usage meter in the title bar, hydrogen-widget.json, /widgets/open, make a widget, add a widget to hydrogen, private widget, widget SDK."-version: 1.3.0+version: 1.4.0 --- # hydrogen-widget: small live panels in Hydrogen Desktop's Title Bar@@ -104,6 +104,8 @@ Several in one repo: `{"widgets": [ {...}, {...} ]}`. | `launch.command` | run in the workspace as the workspace user, backgrounded; `launch.stop` optional | | `launch.port` | the port the page listens on, 127.0.0.1 inside the workspace | | `health.url` | path Hydrogen polls until it answers (default `/`); `timeout_seconds` default 60 |+| `about` | one or two sentences on how it works, shown on the hover card ("Reads the Claude Code sign-in ... asks the usage endpoint ... no quota is spent") |+| `refresh` | how often it asks anything, shown on the hover card ("the provider at most once every 3 minutes; pauses while hidden; backs off on errors") | | `docs` | the widget's own page: a repo file path (`widgets/README.md`) or a full URL. The pulldown row links to it. Defaults to `<repo>/files/widgets/README.md` | ### The widget's own page (what the pulldown row opens)@@ -123,6 +125,18 @@ Size your page by its height, never in fixed px: `@media (min-height: 34px)` sta `clamp()` font sizes. Transparent background, no scrollbars. The shipped helper does this; copy it. +### The hover card (a tooltip that lives outside the iframe)++A tooltip inside your page cannot reach past the slot's edge, so Hydrogen draws the card:+hover the slot and, after a moment, a card appears under it in the host, in the style of the+tab cards. It shows the widget's name and mark, its repo, its live URL or its current status,+`brief`, `about`, `refresh`, the port and the log path, and four links: the widget's page+(`docs`), the wiki repo, this SDK, and Close widget. Moving onto the card keeps it; a click on+the card (or its pin) pins it so the links are live; Escape or a click outside closes a pinned+card. Your page needs nothing for this beyond the manifest fields. An AI shows the same card+with `POST /widgets/card {"id": "...", "pinned": true}` and hides it with `{"id": "...",+"open": false}`.+ ### Resizing: who tells the page Nobody has to. The slot is an iframe; when the Title Bar goes compact or tall, Hydrogen resizes