bootstrap
Adom Hydrogen (platform base)
Public Made by Adomby adom
Layer Hydrogen's workspace onto a standard Adom workstation.
← Commit history
Publish 0.5.18
10 files changed
+47−47
package.json+1−1page.json+1−1skills/hydrogen-adom-bridge-triage/SKILL.md+1−1skills/hydrogen-adom-bridge/SKILL.md+32−32skills/hydrogen-avatar/SKILL.md+1−1skills/hydrogen-eda-discovery/SKILL.md+6−6skills/hydrogen-instapcb/SKILL.md+1−1skills/hydrogen-naming/SKILL.md+1−1skills/hydrogen-settings/SKILL.md+2−2skills/hydrogen-who-am-i/SKILL.md+1−1package.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.17",+ "version": "0.5.18", "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+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.17",+ "version": "0.5.18", "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": [
skills/hydrogen-adom-bridge-triage/SKILL.md+1−1@@ -109,7 +109,7 @@ dependency/host-environment issue and usually a different story. ### 4. Compare the installed build against the wiki ```bash-"/mnt/c/Users/<user>/AppData/Local/Adom Bridge/adom-bridge-cli.exe" --version+"/mnt/c/Users/<user>/AppData/Local/Adom Bridge/adom-bridge.exe" --version adom-wiki release list adom/adom-bridge # newest version + assets ```
skills/hydrogen-adom-bridge/SKILL.md+32−32@@ -17,8 +17,8 @@ description: > screenshot, open a file on my computer, control my desktop, bridge to my pc, send file to my desktop, pull file from my desktop, ah and ab, two apps, how do ah and ab work together, talk to hydrogen desktop, desktop bridge, relay,- embedded mode, ab hidden, hd_status, hd_api, shell_execute, adom-bridge-cli ping,- adom-bridge-cli status.+ embedded mode, ab hidden, hd_status, hd_api, shell_execute, adom-bridge ping,+ adom-bridge status. --- # Hydrogen ↔ Adom Bridge — your reach onto the user's real machine@@ -70,13 +70,13 @@ Here's the subtlety that matters when you reason about "who serves this verb?": `desktop_record_*`, `desktop_recorder_*`, `desktop_list_monitors`, `desktop_pull_glob`, `desktop_embedded_*`. -Both ends sit behind the same `adom-bridge-cli` relay, so from the CLI you don't+Both ends sit behind the same `adom-bridge` relay, so from the CLI you don't choose between them — the relay routes to whichever client is connected. But "will this verb work right now?" depends on which client is up. **Don't assume a verb exists — verify capability first:** ```bash-adom-bridge-cli status # → .capabilities lists what the connected client(s) can do+adom-bridge status # → .capabilities lists what the connected client(s) can do ``` If `.capabilities` is missing `record` (or `desktop_list_monitors` errors with@@ -87,7 +87,7 @@ the KiCad/Fusion/browser bridges all work off Hydrogen's built-in bridge regardl ## What ab/Hydrogen let you do on the user's real Windows machine -All via the `adom-bridge-cli` CLI from inside the workspace. Rather than+All via the `adom-bridge` CLI from inside the workspace. Rather than re-document every verb here, this is a **capability map → the focused skill**: | Capability | Verb(s) / surface | Where it's documented |@@ -103,10 +103,10 @@ re-document every verb here, this is a **capability map → the focused skill**: | **Drive KiCad / Fusion 360 / Pup** | `kicad_*`, `fusion_*`, `browser_*` | the platform bridge skill set (**hydrogen-bridges** on Windows, the adom-bridge-macos skills on mac) | | **Embedded mechanics (tray/lifecycle)** | `desktop_embedded_*` | **hydrogen-embedded-bridge** (Windows bootstrap) — ab-served | -For the complete verb list run `adom-bridge-cli list_commands`.+For the complete verb list run `adom-bridge list_commands`. -> **CLI name per platform:** the bridge CLI is **`adom-bridge-cli`** on Windows-> and **`adom-bridge`** on macOS. Examples in this skill use `adom-bridge-cli`+> **CLI name per platform:** the bridge CLI is **`adom-bridge`** on Windows+> and **`adom-bridge`** on macOS. Examples in this skill use `adom-bridge` > — substitute `adom-bridge` on a mac workspace. ### Host shell-trust model@@ -117,13 +117,13 @@ blocked on per-command approval dialogs — convenient, but it means anything yo run there really runs. Revoke the standing auto-approval at any time: ```bash-adom-bridge-cli shell_auto_approve '{"duration_secs":0}' # turn auto-approve off now+adom-bridge shell_auto_approve '{"duration_secs":0}' # turn auto-approve off now ``` When you *don't* need a free-form shell, prefer the **no-escape structured runners** over hand-quoted `shell_execute` (ab ≥ 1.8.50):-`adom-bridge-cli run_script '{"interpreter":"bash|cmd|powershell","scriptB64":"<b64>"}'`-and (Windows) `adom-bridge-cli wsl_exec '{"distro":"Adom-Workspace","user":"adom","scriptB64":"<b64>"}'`+`adom-bridge run_script '{"interpreter":"bash|cmd|powershell","scriptB64":"<b64>"}'`+and (Windows) `adom-bridge wsl_exec '{"distro":"Adom-Workspace","user":"adom","scriptB64":"<b64>"}'` — base64 the script so no quoting survives to be mangled. ### Auto-installing missing apps@@ -133,8 +133,8 @@ link — trigger an unattended install (the mechanism is platform-specific; the verb reports if unsupported on this platform): ```bash-adom-bridge-cli desktop_install_kicad '{}' # install KiCad-adom-bridge-cli desktop_install_node '{}' # install Node.js (unblocks the Pup bridge)+adom-bridge desktop_install_kicad '{}' # install KiCad+adom-bridge desktop_install_node '{}' # install Node.js (unblocks the Pup bridge) ``` (`install_kicad` fires when `kicad_list_versions` returns@@ -152,41 +152,41 @@ without manual `send_files`/`pull_file` round-trips. ## Talking to Hydrogen + ab from the CLI -You reach the host through the **`adom-bridge-cli` CLI**, which relays your commands+You reach the host through the **`adom-bridge` CLI**, which relays your commands over a WebSocket to the desktop client(s). **Host shell + files:** ```bash-adom-bridge-cli shell_execute '{"command":"<cmd>","timeoutSeconds":60}'-adom-bridge-cli pull_file '{"filePaths":["C:\\path\\file"],"saveTo":"/tmp"}'-adom-bridge-cli send_files '{"filePaths":["/tmp/x"],"saveTo":"C:\\Users\\<you>"}'-adom-bridge-cli desktop_list_windows+adom-bridge shell_execute '{"command":"<cmd>","timeoutSeconds":60}'+adom-bridge pull_file '{"filePaths":["C:\\path\\file"],"saveTo":"/tmp"}'+adom-bridge send_files '{"filePaths":["/tmp/x"],"saveTo":"C:\\Users\\<you>"}'+adom-bridge desktop_list_windows ``` **Hydrogen control (the Hydrogen app itself):** ```bash-adom-bridge-cli hd_status # is Hydrogen running + composed runtime state-adom-bridge-cli hd_screenshot # window-bounded Hydrogen shot (resize <1500px before reading!)-adom-bridge-cli hd_log # tail Hydrogen's log-adom-bridge-cli hd_launch # start Hydrogen detached+adom-bridge hd_status # is Hydrogen running + composed runtime state+adom-bridge hd_screenshot # window-bounded Hydrogen shot (resize <1500px before reading!)+adom-bridge hd_log # tail Hydrogen's log+adom-bridge hd_launch # start Hydrogen detached # Direct Hydrogen control API (HTTP, no shell-escaping pain):-adom-bridge-cli hd_api '{"method":"POST","path":"/setup/run-all","body":{}}'-adom-bridge-cli hd_api '{"method":"GET","path":"/health"}'+adom-bridge hd_api '{"method":"POST","path":"/setup/run-all","body":{}}'+adom-bridge hd_api '{"method":"GET","path":"/health"}' ``` `hd_api` hits Hydrogen's **control API**, discovering its real port from `ports.json` (key `control`, fallback **47084**) in Hydrogen's app-data directory. **Embedded-mode introspection (ab-served):** ```bash-adom-bridge-cli desktop_embedded_status # embedded=true/false, enteredVia=launch-flag|runtime-adopt+adom-bridge desktop_embedded_status # embedded=true/false, enteredVia=launch-flag|runtime-adopt ``` ## How the connection works (and how you check it) ``` You (AI in the workspace)- └─ adom-bridge-cli <verb> '<json>' ← CLI in the distro- └─ relay (adom-bridge-cli serve: WS :8765 + HTTP :8766, started in the workspace)+ └─ adom-bridge <verb> '<json>' ← CLI in the distro+ └─ relay (adom-bridge serve: WS :8765 + HTTP :8766, started in the workspace) └─ WebSocket ──► Hydrogen's built-in bridge AND/OR the embedded ab on the user's machine └─ acts on the OS / KiCad / Fusion / Chrome ```@@ -198,11 +198,11 @@ You (AI in the workspace) forwarding on macOS) — see the `hydrogen-networking` skill. - **Always verify the bridge before acting on the host:** ```bash- adom-bridge-cli ping # → {"status":"connected", ...} means a client is reachable- adom-bridge-cli status # who's connected + .capabilities + which local apps are installed/running+ adom-bridge ping # → {"status":"connected", ...} means a client is reachable+ adom-bridge status # who's connected + .capabilities + which local apps are installed/running ``` If `ping` fails, no desktop client is connected — tell the user, and (if needed)- walk the `adom-bridge-cli` setup steps. Don't claim you acted on their machine+ walk the `adom-bridge` setup steps. Don't claim you acted on their machine without a successful round-trip. Don't try to "fix" a dead host client from in here — surface it. @@ -224,7 +224,7 @@ When the user asks for something that lives on their real computer — "save thi to my Desktop", "what's on my screen", "open this in KiCad", "run this command on my machine" — that's an **ab** job, and you can do it. When it's about the workspace itself (editor, files under `/home/adom/project`, the runtime), that's-**Hydrogen**. Lead with what you can do, verify with `adom-bridge-cli ping`, then act.+**Hydrogen**. Lead with what you can do, verify with `adom-bridge ping`, then act. ## Related skills - **hydrogen-embedded-bridge** (Windows bootstrap) — how Hydrogen installs + embeds ab (tray, lifecycle, standalone↔embedded)@@ -234,4 +234,4 @@ workspace itself (editor, files under `/home/adom/project`, the runtime), that's - **hydrogen-recording** (platform bootstrap; `hydrogen-recording-mac` on macOS) — screen vs tab recording (ab-served) - **hydrogen-notifications** (platform bootstrap) — desktop toasts; **hydrogen-captions** (platform bootstrap) — on-screen caption overlay - **hydrogen-open-url** (platform bootstrap) — the ways to open a URL (Pup, native browser, picker, …)-- `pup` — driving Pup browser windows; `adom-bridge-cli` — the full CLI verb reference+- `pup` — driving Pup browser windows; `adom-bridge` — the full CLI verb reference
skills/hydrogen-avatar/SKILL.md+1−1@@ -40,7 +40,7 @@ Then their wiki footprint — pages they own, apps/skills they've published, the - **GitHub** — languages, projects, existing avatar style. - **LinkedIn** — role, industry, how they present professionally. - A plain web search on `"<display name>" <company>` for talks, articles, a personal site.-- **Their signed-in browser via adom-bridge-cli** (`nbrowser_*`, the abe extension) can reach a+- **Their signed-in browser via adom-bridge** (`nbrowser_*`, the abe extension) can reach a Google profile or anything else they're already logged into — see `driving-the-extension`. Prefer this over pup for logged-in surfaces.
skills/hydrogen-eda-discovery/SKILL.md+6−6@@ -22,17 +22,17 @@ the user's electronics-design stack and show them what the AI-first Adom workflo **exploratory and opt-in** — detect first, then offer; never auto-install or auto-build. Do the detection in the background, then come back with a short, friendly summary + one clear offer. -## 1. Detect (via the bridge CLI — `adom-bridge-cli` on Windows, `adom-bridge` on macOS; see `hydrogen-adom-bridge`, `pup`)+## 1. Detect (via the bridge CLI — `adom-bridge` on Windows, `adom-bridge` on macOS; see `hydrogen-adom-bridge`, `pup`) ```bash-adom-bridge-cli status # relay up? caps include kicad / fusion360?-adom-bridge-cli kicad_list_versions '{}' # KiCad installed (+ which versions)-adom-bridge-cli fusion_status '{}' # Fusion 360 installed? ("installed but not running" = yes)+adom-bridge status # relay up? caps include kicad / fusion360?+adom-bridge kicad_list_versions '{}' # KiCad installed (+ which versions)+adom-bridge fusion_status '{}' # Fusion 360 installed? ("installed but not running" = yes) ``` The KiCad/Fusion bridges work the same on every platform. For tools with **no bridge** (Altium, OrCAD, Cadence/Allegro, EAGLE, DipTrace, Eplan, ...), there's no bridge verb — detect them by-**install path / running process** using `adom-bridge-cli run_script`. The exact probe+**install path / running process** using `adom-bridge run_script`. The exact probe (install directories, process listing) is platform-specific — see your platform bootstrap's EDA companion skill ([[hydrogen-eda-discovery-windows]] on Windows; `hydrogen-eda-install` in the mac bootstrap) for the ready-to-run probe.@@ -70,7 +70,7 @@ We don't have a bridge for these — **but that's an opportunity, not a dead end > probably ~30 minutes of vibe-coding. Then we publish it to the Adom wiki so every Altium > user gets it. We could all use it. Want to?"* -- Reference bridges: `adom-inc/adom-bridge-cli/plugins/kicad/` and `…/plugins/fusion360/` (a Python+- Reference bridges: `adom-inc/adom-bridge/plugins/kicad/` and `…/plugins/fusion360/` (a Python bridge that the desktop app dispatches to; see `adom-bridge-cli-kicad`/`-fusion` for the verb shape). A new bridge = the same pattern (launch app, open files, screenshot, send keys, an optional in-process add-in for the richer API).
skills/hydrogen-instapcb/SKILL.md+1−1@@ -48,7 +48,7 @@ keep). If the app exposes a quote-by-id URL or an import action, use it; otherwi board, I re-export and the quote refreshes — no clicking."* If yes, build the loop: 1. **Watch the KiCad design** — watch the user's `.kicad_pcb` (+ schematic) for saves. Use a- file watcher in the workspace, or `adom-bridge-cli watch` around a poll of the board's mtime+ file watcher in the workspace, or `adom-bridge watch` around a poll of the board's mtime (see `adom-bridge-cli-fusion`'s `watch` wrapper for the streaming pattern). 2. **On change → produce the artifact InstaPCB needs.** Most quoting wants **gerbers** — export them from KiCad (kicad-cli / the PCB editor's plot), staged into `~/project`. (KiCad bridge:
skills/hydrogen-naming/SKILL.md+1−1@@ -57,7 +57,7 @@ exists as a register. Hydrogen or ah. (Code identifiers like `hd_*` verbs or `hd-` crate names are unrenamed call sites, not license to use the name in prose.) - **ad / "Adom Desktop"** - the product is Bridge (ab). The CLI is- `adom-bridge-cli`; the native launcher is `adom-bridge`.+ `adom-bridge`; the native launcher is `adom-bridge`. - **hw** (now hc), **hdbw** (now hbw), **abe** (now nbe), bare single-letter shorthands (say ah, ab, aw - never h, b, w).
skills/hydrogen-settings/SKILL.md+2−2@@ -60,7 +60,7 @@ override. Keys are dotted (`section.subsection.name`). ### adom_desktop *(the embedded Adom Bridge / ab that Hydrogen runs)* When Hydrogen is running it takes over ab, so ab's options live here. See-[hydrogen-adom-bridge-cli](../hydrogen-adom-bridge-cli/SKILL.md) for the Hydrogen↔ab relationship.+[hydrogen-adom-bridge](../hydrogen-adom-bridge/SKILL.md) for the Hydrogen↔ab relationship. | Key | Type / default | What it does | |---|---|---| | `adom_desktop.open` | action button | "Open Adom Bridge" — brings the ab window to the foreground (persists nothing) |@@ -113,4 +113,4 @@ extension-specific settings). ## Related skills - [hydrogen-adom-menu](../hydrogen-adom-menu/SKILL.md) — the logo menu that opens Settings (and Ports, API Explorer, etc.) - [hydrogen-ui](../hydrogen-ui/SKILL.md) — the broader Hydrogen UI / panel layout this dialog sits in-- [hydrogen-adom-bridge-cli](../hydrogen-adom-bridge-cli/SKILL.md) — what the `adom_desktop.*` prefs control (the embedded ab)+- [hydrogen-adom-bridge](../hydrogen-adom-bridge/SKILL.md) — what the `adom_desktop.*` prefs control (the embedded ab)
skills/hydrogen-who-am-i/SKILL.md+1−1@@ -40,7 +40,7 @@ Tell them they have access to a full electronics prototyping ecosystem. Specific - **Build CLIs** — automate workflows from the terminal - **3D viewers** — full 3D component / STEP / GLB viewing in Hydrogen (via adom-step / adom-tsci panels) - **Open KiCad or Fusion 360** on their computer — Hydrogen bridges to the local apps-- **File transfer** — send/receive files between container and their desktop (`adom-bridge-cli send_files` / `pull_file`)+- **File transfer** — send/receive files between container and their desktop (`adom-bridge send_files` / `pull_file`) - **Talk to their cloud containers** — adom-cli reaches Adom-cloud-hosted containers under their account - **Main AI dev environment** — Hydrogen is designed as the primary AI-powered dev surface for hardware + software