bootstrap
Adom Hydrogen (platform base)
Public Made by Adomby adom
Layer Hydrogen's workspace onto a standard Adom workstation.
← Commit history
Publish 0.2.8
4 files changed
+52−63
package.json+8−2@@ -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.7",+ "version": "0.2.8", "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": [@@ -23,5 +23,11 @@ }, "hero": { "path": "docs/hero.png"- }+ },+ "files": [+ "package.json",+ "postinstall.sh",+ "README.md",+ "skills/**"+ ] }
page.json+11−4@@ -4,8 +4,8 @@ "type": "bootstrap", "title": "Hydrogen Desktop Bootstrap (apps + skills)", "brief": "Layer Hydrogen Desktop's workspace onto a standard Adom workstation.",- "version": "0.2.6",- "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 runtime-neutral hd-* skills 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 (WSL2), adom/hd-mac-bootstrap, adom/hd-ubuntu-bootstrap. The reference design other orgs copy to build their own bootstrap on adom/core.",+ "version": "0.2.8",+ "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": [ "bootstrap",@@ -28,5 +28,12 @@ "hero": { "type": "image", "path": "docs/hero.png"- }-}+ },+ "files": [+ "package.json",+ "postinstall.sh",+ "README.md",+ "skills/**"+ ],+ "visibility": "public"+}
postinstall.sh+5−7@@ -2,22 +2,21 @@ # postinstall.sh — adom/hd-bootstrap # # Runs (as the workspace user) after every dependency is installed —-# adompkg installs apps/skills first, bootstraps (and their postinstall)-# last. This hook applies the HD *environment configuration* that isn't a+# apps/skills install first, bootstraps (and their postinstall) last. This hook applies the HD *environment configuration* that isn't a # package: the Claude Code + adom-vscode extensions, and the VS Code / code-server # settings that make the editor behave like Hydrogen Desktop. # # What is NOT here, by design: # - the Adom ecosystem (skills hub, distributor search, KiCad/Fusion, pup, # adom-cli, adom-vscode binary, ...) — comes from the adom/core dependency-# - the hd-* runtime skills — the adom/hd-skills dependency-# - the workspace-updater daemon + the CLIs — their own dependencies+# - the hd-* runtime skills — BUNDLED in this package (skills/ dir)+# - the CLIs (adom-cli, adom-desktop) — their own dependencies # - the OS baseline (apt, code-server, systemd, user/linger/pam) — that's # the golden image's Dockerfile ("hardware"); a live install assumes a # workspace that already has it. # # Idempotent + LIVE-INSTALLABLE: this must converge correctly from a cold-# `adompkg install adom/hd-bootstrap` on an already-running workspace (the+# `adom-wiki pkg install adom/hd-bootstrap` on an already-running workspace (the # vendor "am I set up?" path), not only inside the golden-image bake. Re-runs # are safe. The bake runs the exact same command, just earlier. #@@ -30,8 +29,7 @@ CS="$(command -v code-server 2>/dev/null || echo /usr/lib/code-server/bin/code-s HERE="$(cd "$(dirname "$0")" && pwd)" # 0. Deploy the bundled hd-* runtime skills into ~/.claude/skills/. These ship-# INSIDE this package (HD-specific — there is no separate adom/hd-skills-# package); the package's skills/ dir is the source of truth.+# INSIDE this package (HD-specific); the package's skills/ dir is the source of truth. if [ -d "$HERE/skills" ]; then log "deploying bundled hd-* skills" install -d -m 0755 "$HOME/.claude/skills"
skills/hd-workspace-updater/SKILL.md+28−50@@ -1,59 +1,37 @@ --- name: hd-workspace-updater-description: "How Hydrogen Desktop keeps THIS workspace's Adom tooling up to date, and how an Adom employee ships a skill / extension / CLI to EVERY Adom workspace automatically. Use when asked \"how do I get the latest skills or tooling from Adom\", \"how are updates delivered here\", \"what's the reload banner\", \"how do I make a skill that distributes to all Adom users\", \"how do I publish tooling to every workspace\". Trigger words: workspace updater, adom-workspace-updater, latest skills, get updates, how do updates work, auto update, distribute a skill, publish to all users, ship to every workspace, reload banner."+description: How this Hydrogen Desktop workspace's Adom tooling stays up to date (registry-native — the old adom-workspace-updater daemon is retired), and how an Adom employee ships a skill / CLI / app to every workspace. Use when asked "how do I get the latest skills or tooling", "how do updates work here", "what's the reload banner", "how do I distribute a tool to all Adom users", or anything about the retired workspace-updater daemon. Trigger words: workspace updater, adom-workspace-updater, latest skills, get updates, how do updates work, auto update, distribute a skill, publish to all users, reload banner, adom-wiki pkg update. --- -# How this workspace stays up to date — and how to ship to every workspace+# How this workspace stays up to date ## TL;DR (anyone)-You don't do anything. A gentle background daemon, **`adom-workspace-updater`**, keeps this-workspace's Adom tooling current automatically. It runs **~5 minutes after the workspace-starts**, then **every ~2 hours** — low-priority and **out-of-band** (it is never part of-startup and can't slow or break it). When an update needs the editor reloaded (e.g. a new VS-Code extension landed), Hydrogen Desktop fades in a banner at the top of the editor:-**"<Tool> is ready — click to reload."** Click it. Done.+You don't do anything. Your workspace's Adom tooling is **registry-native**: everything is an+`adom-wiki` package (CLIs, skills, apps), and the **auto-update hook** (`adom/hook`, installed by+`adom/core`) runs `adom-wiki pkg update` in the background (throttled ~30 min, on your prompts, for+both Claude Code and Codex) and re-resolves `adom/core` so newly added tools arrive automatically.+- Force a check now: `adom-wiki pkg update`+- See what's installed / behind: `adom-wiki pkg list` / `adom-wiki pkg outdated` -Why a daemon at all? Your workspace is imaged **once at install and never re-imaged** — so-in-place delivery is the *only* way you ever get new tooling. This daemon is that delivery.--## "How do I get the latest skills / tooling from Adom?"-You already are — automatically. To force a check now instead of waiting:-```-adom-workspace-updater --once-```-It converges this workspace to a wiki **desired-state manifest**: SHA-verified, never-downgrades, and **surgical** — it only touches the specific named tooling, never your files or-anything you installed yourself.-- Installed skill-bundle version: `cat ~/.claude/skills/.hd-skills-version`-- Last run + what changed: `cat ~/.adom/workspace-updater-status.json`--(code-server and the Claude Code extension are **baked fundamentals** that self-update — the-daemon does *not* manage them; it just notices a change and offers the reload.)--## "How do I make a skill that gets distributed to ALL Adom workspaces automatically?" (Adom employees)-1. Add it to `skills/public-facing/shared/<your-skill>/SKILL.md` in the **hydrogen-desktop** repo.-2. Publish the bundle:- ```- scripts/publish-tooling.sh publish-skills- ```- (bundles every public hd-* skill, pushes it to the `hd-workspace-tooling` wiki page, bumps the version.)-3. That's it — every workspace's daemon picks it up on its next tick and extracts it into `~/.claude/skills/`.--To distribute an **extension** or a **CLI** instead, add a manifest entry then publish:-```-scripts/publish-tooling.sh add <name> --kind extension --id <publisher.name> --version X # Open VSX-scripts/publish-tooling.sh add <name> --kind bin --url <wiki blob> --version X # a CLI-scripts/publish-tooling.sh publish-```-Operator details (the manifest, the kinds, the visibility flow) are in the **`workspace-tooling`**-skill in the hydrogen-desktop repo.+Skills arrive via the **`adom/hd-skillpack`** package (all hd-* workspace skills, symlinked into+`~/.claude/skills/`). Org member apps (e.g. the employee build of adom-google) arrive via your+org's **`org-bootstrap`** meta-package. Both are just dependencies — kept current like everything. ## The reload banner-When a new version is on disk but not yet active (a daemon-installed extension, or one the-editor auto-updated), HD shows **"<Tool> is ready / has an update — click to reload"** at the-top of the editor; clicking reloads it to activate the new code. **Skills need no reload** —-Claude re-reads them itself.--*Meta: this very skill was delivered to your workspace by the mechanism it describes — which is-the proof that the pipeline works end to end.*+code-server self-updates on disk but only takes effect after a restart. Hydrogen Desktop detects+that natively and shows **"code-server has an update — click to reload"** at the top of the editor+(only after setup is complete, never mid-cascade). Clicking restarts code-server + reloads the+editor. Extensions never banner — VS Code's own auto-update activates them.++## "How do I ship a tool/skill/app to every Adom workspace?" (Adom employees)+Publish it as an `adom-wiki` package, then add it as a **dependency** of the right bootstrap:+- every container: `adom/core` · every HD workspace: `adom/hd-bootstrap` ·+ org members only: your org's `org-bootstrap` · HD skills: add the skill to+ `skills/public-facing/` in the hydrogen-desktop repo and republish `adom/hd-skillpack`.+The hook's re-resolve delivers it fleet-wide within ~30 minutes of users prompting.++## The retired daemon (history)+`adom-workspace-updater` (a systemd timer converging a wiki manifest) previously delivered+tooling in-place. It was retired 2026-07-16 in favor of the registry updater; legacy distros are+migrated off it automatically by its final self-update. If you still see it:+`systemctl status adom-workspace-updater.timer` should be disabled/absent on a migrated workspace.