bootstrap
Adom Hydrogen (Windows / WSL2)
Public Made by Adomby adom
The Windows (WSL2) platform layer for Hydrogen.
← Commit history
Publish 0.3.32
5 files changed
+75−29
README.md+3−1@@ -46,7 +46,9 @@ platform-generic vs Windows-specific (not the old `shared`/`wsl2` buckets): `hydrogen-ports`, `hydrogen-workspace-lifecycle`, the golden-image/WSL2 skills. - **Mixed skills** were split: the generic core stays in `hydrogen-bootstrap`, and the Windows specifics become a `<name>-windows` companion here (e.g.- `hydrogen-api-windows` carries the `/wsl/*` endpoint tables,+ `hydrogen-api-windows` carries the `/wsl/*`, `/ab/*`, `/dock/*`, `/hbw/*` and `/widgets/*`+ endpoints and the Windows-only destructive routes; since 0.3.32 this package no longer+ ships its own `hydrogen-api`, which belongs to `hydrogen-bootstrap` alone, `hydrogen-notifications-windows` the WinRT/AUMID toast mechanics, `hydrogen-setup-windows` the WSL2 install cascade). Distinct names mean both layers coexist with no deploy collision.
install.sh+12@@ -40,6 +40,18 @@ if [ -d "$HERE/skills" ]; then count=$((count + 1)) done log " deployed ${count} Windows/WSL2 skills"+ # 0.3.32 (adom/hydrogen-windows-bootstrap#7): hydrogen-api has ONE owner, the generic+ # adom/hydrogen-bootstrap. This package used to ship its own full copy under the same+ # name, so whichever install ran last won. The Windows rows now live in the+ # hydrogen-api-windows companion. A package update never removes a file an older+ # version delivered, so put the base layer's copy back if ours is still installed.+ # (Never rm the dir here: the base layer, installed first, owns it.)+ BASE_API="$HERE/../hydrogen-bootstrap/skills/hydrogen-api/SKILL.md"+ if [ -f "$BASE_API" ] && ! cmp -s "$BASE_API" "$HOME/.claude/skills/hydrogen-api/SKILL.md"; then+ install -d -m 0755 "$HOME/.claude/skills/hydrogen-api"+ install -m 0644 "$BASE_API" "$HOME/.claude/skills/hydrogen-api/SKILL.md"+ log " restored hydrogen-api from adom/hydrogen-bootstrap (the one owner of that name)"+ fi fi # 1. workbench.html state seed — patches the WSL2 code-server install. Seeds
package.json+2−2@@ -4,7 +4,7 @@ "type": "bootstrap", "title": "Adom Hydrogen (Windows / WSL2)", "brief": "The Windows (WSL2) platform layer for Hydrogen.",- "version": "0.3.31",+ "version": "0.3.32", "description": "The Windows platform layer for Hydrogen, where the workspace runs in a WSL2 Ubuntu distro. Depends on adom/hydrogen-bootstrap (the platform-generic layer, which bundles the generic hydrogen-* skills) and adds everything specific to the WSL2 runtime: the WSL2/networking/lifecycle hydrogen-* skills (BUNDLED here by design, John+Kyle 2026-07-16) and the WSL2 code-server workbench seed. Sibling adom/hydrogen-mac-bootstrap carries the parallel mac skills. This is the package the golden WSL2 image installs.", "org": "adom", "tags": [@@ -31,5 +31,5 @@ "hero": { "path": "docs/hero.png" },- "changelog": "0.3.31: Pup verbs renamed browser_* -> pup_* (the puppeteer bridge 2.0.733 exposes only pup_*), and the adom/adom-shotlog range widened to ^0.29.0 so updates stop skipping it. 0.3.30: skill cleanup: shorter valid descriptions, retired names replaced, dead skill links fixed, hydrogen-skill-catalog removed, maintainer skills hidden."+ "changelog": "0.3.32: hydrogen-api is no longer shipped here (adom/hydrogen-windows-bootstrap#7): adom/hydrogen-bootstrap owns that name, and its Windows-only rows (ab health, WSL endpoints, the Windows-only destructive and refused routes, the Adom Bridge / Dock / ESM / HBW / Settings / Widgets route groups) are in hydrogen-api-windows, now generated from the ah repo. install.sh restores the base copy if this package's old copy is still installed. 0.3.31: Pup verbs renamed browser_* -> pup_* (the puppeteer bridge 2.0.733 exposes only pup_*), and the adom/adom-shotlog range widened to ^0.29.0 so updates stop skipping it. 0.3.30: skill cleanup: shorter valid descriptions, retired names replaced, dead skill links fixed, hydrogen-skill-catalog removed, maintainer skills hidden." }
page.json+3−3@@ -4,7 +4,7 @@ "slug": "hydrogen-windows-bootstrap", "title": "Adom Hydrogen (Windows / WSL2)", "brief": "The Windows (WSL2) platform layer for Hydrogen.",- "version": "0.3.31",+ "version": "0.3.32", "author": { "name": "John Lauer", "email": "[email protected]"@@ -37,5 +37,5 @@ "README.md", "skills/**" ],- "changelog": "0.3.31: Pup verbs renamed browser_* -> pup_* (the puppeteer bridge 2.0.733 exposes only pup_*), and the adom/adom-shotlog range widened to ^0.29.0 so updates stop skipping it. 0.3.30: skill cleanup: shorter valid descriptions, retired names replaced, dead skill links fixed, hydrogen-skill-catalog removed, maintainer skills hidden."-}+ "changelog": "0.3.32: hydrogen-api is no longer shipped here (adom/hydrogen-windows-bootstrap#7): adom/hydrogen-bootstrap owns that name, and its Windows-only rows (ab health, WSL endpoints, the Windows-only destructive and refused routes, the Adom Bridge / Dock / ESM / HBW / Settings / Widgets route groups) are in hydrogen-api-windows, now generated from the ah repo. install.sh restores the base copy if this package's old copy is still installed. 0.3.31: Pup verbs renamed browser_* -> pup_* (the puppeteer bridge 2.0.733 exposes only pup_*), and the adom/adom-shotlog range widened to ^0.29.0 so updates stop skipping it. 0.3.30: skill cleanup: shorter valid descriptions, retired names replaced, dead skill links fixed, hydrogen-skill-catalog removed, maintainer skills hidden."+}
skills/hydrogen-api-windows/SKILL.md+55−23@@ -1,10 +1,10 @@ --- name: hydrogen-api-windows description: >-- Windows companion to hydrogen-api: the /wsl/* and legacy /docker/* endpoints,- /system reboot, /test/probe-dialogs, WebView2 CDP notes, and host-side port- discovery (ports.json). Use when asked about wsl status, reboot windows,- probe-dialogs, or ports.json.+ Windows companion to hydrogen-api: the /wsl/*, /ab/*, /dock/*, /hbw/*, /widgets/*+ and legacy /docker/* endpoints, the Windows-only destructive routes, /system reboot,+ and host-side port discovery. Use when asked about wsl status, ab health, reboot+ windows, probe-dialogs, or ports.json. --- # Hydrogen Control API — Windows / WSL2 specifics@@ -97,41 +97,51 @@ Hydrogen's webview is **WebView2** on Windows; `/cdp-eval`, `/cdp-info`, and (Gated behind `HD_TEST_API_ENABLED=1`, like the rest of `/test/*`.) -## Moved from the generic hydrogen-api (Windows-only, 2026-10-21)+## Moved from the generic hydrogen-api (Windows-only) -These endpoints exist only in the Windows Hydrogen; the macOS app does not serve them.+These sections exist only in the Windows Hydrogen; the macOS app does not serve them. The+generic `hydrogen-api` skill (adom/hydrogen-bootstrap) is the one `hydrogen-api`; this+companion is where the Windows rows live, so the two never collide in `~/.claude/skills/`. -## ab-health diagnostics (`/ab/*`)+### Windows-only safety rules (add these to hydrogen-api's Safety section)++- **`catastrophic`** on Windows also covers `/setup/virgin-reset` and `/wsl/unregister`+ (deletes the whole `Adom-Workspace` distro, including `/home/adom/project`).+- ⛔ **REFUSED as deprecated** (headless runs with no visible UI): `POST /setup/run-all`,+ `POST /setup/run-step`, `POST /setup/virgin-reset`, `POST /virgin-reset`,+ `POST /wsl/unregister`. They return a refusal pointing at the UI-visible path: run steps+ from the Setup panel, or use its Virgin Reset (`POST /setup/panel/run-virgin-reset`).+- The legacy Docker routes `POST /container-delete`, `/container-pull-image`,+ `/image-delete` and `/volume-delete` still answer, but the workspace is a WSL2 distro, so+ there is nothing to delete or pull: they say so and point at the reset path.+- `GET /container-status` renamed two fields: `docker_available` -> **`runtime_available`**+ and `image_pulled` -> **`workspace_installed`**. The old field names are gone.++### ab-health diagnostics (`/ab/*`) (Canonical since 1.0.47; the old `/ad/*` spellings still answer as aliases.) -These verify the **adom-bridge / relay / embedded-ab** half of Hydrogen is alive (the-bridge that connects this cloud container to Hydrogen). All GET, all return `{ok, ...}`.+These verify the **adom-bridge / relay / embedded-ab** half of Hydrogen is alive. All GET,+all return `{ok, ...}`. | Method | Path | Description | |---|---|---| | GET | `/ab/health` | Overall embedded-ab health roll-up | | GET | `/ab/process` | Is the adom-bridge process running | | GET | `/ab/embedded` | Embedded-ab module status |-| GET | `/ab/workspace-direct` | ⭐ The **converged** check — direct path to the workspace relay (use this one) |+| GET | `/ab/workspace-direct` | ⭐ The **converged** check: direct path to the workspace relay (use this one) | | GET | `/ab/relay` | Relay (WS/HTTP) reachability | | GET | `/ab/liveness-beacon` | Liveness beacon freshness | | GET | `/ab/direct-api` | Direct-API reachability | | GET | `/ab/discovery-file` | Discovery file present + parseable | -### Workspace / WSL endpoints+## Windows-only route index -| Method | Path | Body | Description |-|---|---|---|---|-| GET | `/wsl/status` | — | WSL distro state (registered, running, code-server reachable) |-| GET | `/workspace/health` | — | Deep workspace health (distro + code-server + host reachability) |-| GET | `/virgin-reset-progress` | — | Live progress of an in-flight virgin reset |-| POST | `/workspace/terminal-profile` | — | Ensure the stable `Adom-Workspace` Windows Terminal profile (idempotent) |-| POST | `/workspace/terminal-profile/remove` | — | Remove the `Adom-Workspace` Windows Terminal profile(s) |-| POST | `/workspace/check-updates` | — | Check upstream for newer code-server + Claude extension; stage them |-| POST | `/workspace/apply-updates` | — | Apply staged code-server/extension updates + reload editor |+<!-- BEGIN GENERATED WINDOWS ROUTE INDEX --> -### Windows-only route groups+The 59 routes only the Windows Hydrogen serves, generated from the same table+`/_manifest` serves (`scripts/check-manifest-fresh.sh` fails the build if this drifts). The+platform-generic routes are indexed in **hydrogen-api**. **Adom Bridge** (19) @@ -155,6 +165,13 @@ bridge that connects this cloud container to Hydrogen). All GET, all return `{ok - `GET /direct/health` - `GET /direct/status` +**Container / Docker (legacy)** (4)++- `POST /container-delete`+- `POST /container-pull-image`+- `POST /image-delete`+- `POST /volume-delete`+ **Dock** (6) - `GET /dock/apps`@@ -171,13 +188,15 @@ bridge that connects this cloud container to Hydrogen). All GET, all return `{ok - `POST /editor/normalize` - `GET /editor/state` -**Hydrogen Browser Window** (9)+**Hydrogen Browser Window** (11) - `GET /hbw/chrome` - `POST /hbw/chrome-toggle` - `POST /hbw/close` - `POST /hbw/nav` - `POST /hbw/open`+- `GET /hbw/speed`+- `POST /hbw/speed` - `GET /hbw/state` - `GET /hbw/tip` - `GET /hbw/tip-state`@@ -188,9 +207,17 @@ bridge that connects this cloud container to Hydrogen). All GET, all return `{ok - `GET /settings/external-changes` - `POST /settings/rebroadcast` -**Widgets** (7)+**Setup Cascade** (4)++- `POST /setup/run-all`+- `POST /setup/run-step`+- `POST /setup/virgin-reset`+- `POST /virgin-reset`++**Widgets** (8) - `GET /widgets`+- `POST /widgets/card` - `POST /widgets/close` - `POST /widgets/menu` - `POST /widgets/navigate`@@ -198,3 +225,8 @@ bridge that connects this cloud container to Hydrogen). All GET, all return `{ok - `POST /widgets/refresh` - `GET /widgets/status` +**Workspace & Updates** (1)++- `POST /wsl/unregister`++<!-- END GENERATED WINDOWS ROUTE INDEX -->