bootstrap
Adom Hydrogen (platform base)
Public Made by Adomby adom
Layer Hydrogen's workspace onto a standard Adom workstation.
← Commit history
Publish 0.2.18
3 files changed
+30−6
package.json+1−1@@ -4,7 +4,7 @@ "type": "bootstrap", "title": "Hydrogen Desktop Bootstrap (apps + skills)", "brief": "Layer Hydrogen Desktop's workspace onto a standard Adom workstation.",- "version": "0.2.17",+ "version": "0.2.18", "description": "Hydrogen Desktop'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 Desktop on ANY platform: the platform-generic hd-* skills (BUNDLED in this package by design; wsl2 skills ride adom/hd-windows-bootstrap, mac skills ride adom/hd-mac-bootstrap) and the generic HD editor configuration (Claude Code CLI + extension, VS Code settings, trusted domains). Platform-specific layers depend on THIS: adom/hd-windows-bootstrap, adom/hd-mac-bootstrap.", "org": "adom", "tags": [
page.json+1−1@@ -4,7 +4,7 @@ "type": "bootstrap", "title": "Hydrogen Desktop Bootstrap (apps + skills)", "brief": "Layer Hydrogen Desktop's workspace onto a standard Adom workstation.",- "version": "0.2.17",+ "version": "0.2.18", "description": "Hydrogen Desktop'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 Desktop on ANY platform: the platform-generic hd-* skills (BUNDLED in this package by design; wsl2 skills ride adom/hd-windows-bootstrap, mac skills ride adom/hd-mac-bootstrap) and the generic HD editor configuration (Claude Code CLI + extension, VS Code settings, trusted domains). Platform-specific layers depend on THIS: adom/hd-windows-bootstrap, adom/hd-mac-bootstrap.", "org": "adom", "tags": [
skills/hd-demo-recording/SKILL.md+28−4@@ -63,16 +63,25 @@ adom-desktop hd_api '{"method":"POST","path":"/claude/inject","body":{...}}' ```json POST /recording/native/start-{"source":"window:Hydrogen Desktop","cursor":true,"codec":"h264","maxSeconds":300}+{"source":"self","cursor":true,"codec":"h264","maxSeconds":300,"reason":"demo take cap"} ``` +- **`source:"self"` is THE way to record HD** (alias: `"hd"`). Never guess HD's window+ title: it carries the version and dev stamps, and title-guessing has recorded the+ WRONG app before (an Edge window titled "Claude"). `window:<substr>` matches other+ apps' windows; `"screen"` records the whole primary monitor. - WGC per-window capture: high fps, background-safe, no picker, no "you are sharing- your screen" banner. `"screen"` records the whole primary monitor instead.+ your screen" banner.+- Overriding `maxSeconds` (default 600) REQUIRES a `reason` string, it shows in the+ UI toast if the cap fires. Omit both if the default cap is fine. - `codec:"h264"` for web-playable output (h265 is smaller but not web-playable). - `mic:true` only if you want live narration in the raw take; the usual pipeline adds TTS narration in post instead.-- `maxSeconds` is the auto-stop cap (default 600); overriding it requires a `reason`. - Wait about 1 second after start so the first frames show the clean starting state.+- **Verify the take is ALIVE**: `GET /recording/native/status` while recording shows+ `frames` climbing within about 2 seconds. If it stays 0, the take is dead (target+ minimized or wrong window): stop now and fix, do not record 90 seconds of nothing.+ A 0-frame take errors at stop (500) instead of pretending success. ## Step 3: type the prompt(s) on camera @@ -113,7 +122,9 @@ POST /recording/native/stop ``` The response carries `file` (relative), `fileAbsolute` (path INSIDE the WSL distro),-and `fileWindows` (the `\\wsl$\...` UNC path).+`fileWindows` (the `\\wsl$\...` UNC path), and `frames`. If your transport hiccups+and you lose the stop response, `GET /recording/native/status` when idle returns+`lastOutput` with the same paths, the take is recoverable. - **In the workspace**: `fileAbsolute` is directly readable; you are done. - **Remote container**: pull it as STREAMED BINARY, 1 MiB chunks, sha256-verified.@@ -134,6 +145,19 @@ adom-desktop --target <desktop> pull_file '{"filePaths":["<fileWindows value>"], - **Recording choreography** (captions, panel staging, what makes a take clean) lives in the `demo-recording` skill; read it for anything fancier than a single-window take. +## Known hazards++- **An HD restart kills the take AND the demo tabs.** The recorder dies with the HD+ process (the unfinalized temp mp4 is lost) and reopened Claude tabs reset. Do not+ run a demo while anyone (including another AI thread) is rebuilding/relaunching HD+ on the same machine; if a take mysteriously vanished, check whether HD restarted+ mid-run (window title timestamp or /buildinfo).+- Tab state reads (`GET /claude/tabs`) are DOM reads: labels can be briefly empty+ while the editor reloads. Prefer `GET /claude/conversations` for stable+ context_ids + titles.+- Screenshot of the Claude panel: `POST /screenshot {target:"claude"}` captures the+ editor surface containing it (the panel is a nested webview with no own CDP target).+ ## Safety and cleanup (non-negotiable) - These endpoints are disruptive tier and their responses carry a `_safety` block: