← Commit history

Publish 0.2.8

John Lauer ·1f9eb20195 ·3mo ago ·parent 84b4874
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"+}\ No newline at end of file
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.