← Commit history

README: 2026-07-16 refresh — adompkg deprecated (v18 bakes with adom-wiki pkg), updater retirement, InstaPCB excluded, skillpack delivery, all refs linkified

John Lauer ·eff90463aa ·3mo ago ·parent 598fdbe
1 file changed +62−63
README.md+62−63
@@ -1,77 +1,83 @@ # adom/hd-bootstrap -Hydrogen Desktop's workspace layer, as an adompkg bootstrap. It's a thin+Hydrogen Desktop's workspace layer, as a registry bootstrap. It's a thin package: a dependency list + one config hook. Installing it converges a workspace to "ready to run inside Hydrogen Desktop."  ```-adompkg install adom/hd-bootstrap+adom-wiki pkg install adom/hd-bootstrap ``` +> **Tooling note (2026-07-16):** `adompkg` is deprecated — all install/update+> flows use the [adom-wiki CLI](/adom/adom-wiki-cli) (`adom-wiki pkg …`). The+> golden image v17 was still baked with adompkg; **v18 must bake with+> `adom-wiki pkg`** (planned).+ The golden WSL2 image runs exactly that line at bake time and ships the result pre-converged. A live workspace can run the same line on demand. The bake is an optimization of the runtime flow, not a different mechanism.  ## How it layers -`adom/hd-bootstrap` depends on `adom/core` and adds only what's specific to-running inside HD. Layering is not a special feature — a layer is just a-bootstrap that depends on the one below it. `core` is pulled unmodified.+`adom/hd-bootstrap` depends on [`adom/core`](/adom/core) and adds only what's+specific to running inside HD. Layering is not a special feature — a layer is+just a bootstrap that depends on the one below it. `core` is pulled unmodified.  ```-adom/core                ← the Adom ecosystem (shared with web Hydrogen)-  └─ adom/hd-bootstrap    ← THIS: HD-runtime skills + daemon + HD editor config+adom/core                 ← the Adom ecosystem (shared with web Hydrogen)+  └─ adom/hd-bootstrap    ← THIS: platform-generic HD layer (editor config, HD skills delivery)+       ├─ adom/hd-windows-bootstrap   ← Windows/WSL2 platform layer+       └─ adom/hd-mac-bootstrap       ← macOS sibling (in progress) ```  This is the public **reference design**: other orgs build their own bootstrap-the same way. A vendor publishes `<org>/bootstrap` depending on `adom/core`-(plus `adom/hd-bootstrap` only if their capability needs HD's runtime), and-their users get set up by telling their AI "I use <org>." See-[../BOOTSTRAP-CONVENTION.md](../BOOTSTRAP-CONVENTION.md) for the naming +-layering convention.+the same way. A vendor publishes `<org>/bootstrap` depending on+[`adom/core`](/adom/core) (plus this package only if their capability needs+HD's runtime), and their users get set up by telling their AI "I use <org>."+*(The BOOTSTRAP-CONVENTION doc isn't hosted on the wiki yet — TODO: publish it+and link here.)*  ## What's a dependency vs. what's in the hook  The rule: **anything that is a package is a dependency; environment config that isn't a package is the `postinstall` hook; the OS baseline is the golden-image's Dockerfile (not this package at all).**+image's build (not this package at all).** -### Dependencies — all three resolve anonymously (verified 2026-06-19)+### Dependencies  | Dep | Why it's here | Status | |-----|---------------|--------|-| `adom/core` | The whole Adom ecosystem — skills hub, distributor search, KiCad/Fusion, pup, `adom-cli`, the `adom-vscode` binary, `adompkg`, etc. This is what the golden image bakes in. | ✅ published 4.9.1, anon + sudo-free |-| `adom/adom-workspace-updater` | The in-distro updater daemon (systemd .service/.timer). | ✅ published 0.1.11, anon — **`needs_sudo: true`** |-| `adom/adom-desktop` | The Adom Desktop relay CLI. | ✅ published 1.8.147, anon |--> The `hd-*` skills are **bundled into this package** (the `skills/` dir), not a-> dependency — they're HD-specific with no independent lifecycle. The three-> ecosystem CLIs (`adom-google`, `adom-tts`, `adom-gchat`) are **inherited via-> `adom/core`** once added there (they resolve anonymously and are sudo-free) —-> HD does not carry ecosystem apps directly.--> **⚠ Installing this package requires `--allow-sudo`.** `adom/adom-workspace-updater`-> is `needs_sudo: true` (it writes systemd units), and adompkg refuses a sudo-> install script without an explicit opt-in — passwordless sudo alone is NOT-> enough. The bake (and any live install) must run:-> `ADOMPKG_ALLOW_SUDO=1 adompkg install adom/hd-bootstrap`.+| [`adom/core`](/adom/core) | The whole Adom ecosystem — skills hub, distributor search, KiCad/Fusion, pup, `adom-cli`, the `adom-vscode` binary, the registry CLI. | ✅ current (4.13.x), anon + sudo-free |+| [`adom/adom-desktop`](/adom/adom-desktop) | The Adom Desktop relay CLI. | ✅ current, anon |+| [`adom/hd-skillpack`](/adom/hd-skillpack) | The 52 `hd-*` skills. | ⏳ **wiring pending** — delivery is moving from "bundled `skills/` dir" to this dependency (part of the 2026-07-16 workspace-updater retirement; see below) |++> **Retired (2026-07-16):** [`adom/adom-workspace-updater`](/adom/adom-workspace-updater)+> — the in-distro updater daemon. Never a dep of THIS package (it rode+> [`adom/hd-windows-bootstrap`](/adom/hd-windows-bootstrap), removed there in+> 0.2.3). Updates are now registry-native: `adom-wiki pkg update` via the+> [`adom/hook`](/adom/hook) prompt hook. This also removes the only+> `needs_sudo` package from the tree — the old `ADOMPKG_ALLOW_SUDO=1`+> requirement should die with it (verify on the v18 bake).  ### postinstall.sh (deploy bundled skills + environment config)  Runs as the workspace user after all deps install (`sudo` only for the system-owned workbench file). Mirrors the config sections of-`hd-wsl2-image/image/bake-hd-setup.sh`:+[hd-wsl2-image](https://github.com/adom-inc/hd-wsl2-image)'s `bake-hd-setup.sh`: -0. Deploy the bundled `hd-*` skills (`skills/` dir → `~/.claude/skills/`)+0. Deploy the bundled `hd-*` skills (`skills/` dir → `~/.claude/skills/`) —+   *transitioning to the [`adom/hd-skillpack`](/adom/hd-skillpack) dep, which+   symlinks instead of copying* 1. Claude Code CLI (claude.ai installer → `~/.local/bin/claude`) 2. Claude Code extension (Open VSX) registered in code-server 3. `adom-vscode` extension `.vsix` registered in code-server (binary from the `core` dep)-4. code-server `settings.json` (dark theme, Claude Code perms, chat/agent panel off, silent ports — no model pin)+4. code-server `settings.json` (dark theme, Claude Code perms, chat/agent panel+   off, silent ports, git notifications quieted — no model pin) 5. code-server `config.yaml` (telemetry + update-check off) 6. `workbench.html` IndexedDB seed (trusted domains `*` + activity-bar unpin) 7. tidy (`rm ~/project/.mcp.json`) -### NOT in this package (golden-image Dockerfile)+### NOT in this package (golden-image base)  apt baseline, code-server, systemd/systemd-sysv, cron, the gh CLI, user/group/linger/pam fixes. The "hardware" the bootstrap runs on. A live@@ -81,33 +87,26 @@ install assumes a workspace that already has it.  The Carbon API key, `DefaultUid=1001`, the `host.docker.internal` alias. -## Open decisions / remaining work--- ✅ **Skills bundled into `skills/`** — the **31 platform-generic** `hd-*` skills.-  The other 15 are Windows-specific (in `adom/hd-windows-bootstrap`); 13 mixed-  skills were split, generic core here + a `<name>-windows` companion in the-  Windows layer. Decided: bundled, not a separate `adom/hd-skills` package.-- **InstaPCB:** the generic bundle **includes `hd-instapcb`** (and `hd-who-am-i`'s-  InstaPCB lines). This package is published **public WITH InstaPCB included** —-  an explicit owner decision (2026-06-19) overriding the general InstaPCB embargo-  for this package, so the launch can be planned against the real thing.-- **Edit `adom/core` to add `adom-google` / `adom-tts` / `adom-gchat`** so HD-  inherits them (all three verified anon + sudo-free). Needs core's source-  (wiki-git) + a republish.-- **Skill-vs-binary completeness in core:** core deps the distributor *skills*-  (`adom/mouser`…), not the *binaries* (`adom/adom-mouser`…). Confirm whether-  the skills just drive `adom-cli` (in core) — decides whether the Dockerfile-  still bakes the distributor binaries.--## Status (2026-06-19)--**PUBLISHED + PUBLIC** at `adom/[email protected]` on wiki.adom.inc. Deps-resolve anonymously; the `adom/core` contract is **green** (anonymous +-sudo-free across the whole tree). Install requires `ADOMPKG_ALLOW_SUDO=1` (the-Windows layer's updater dep is `needs_sudo`). The golden-image bake-(`bake-via-bootstrap.sh`) installs `adom/hd-windows-bootstrap`, which pulls this-+ `adom/core`. **Open blocker for the bake:** `adom/[email protected]`-(a transitive dep of `adom/core`) currently FAILS signature verification —-Colby must republish it before any `adompkg install adom/core` (and thus the-bake) can complete. Build the image on the laptop via AD or in CI, never in the-cloud container.+## Resolved / superseded decisions (history)++- ✅ **InstaPCB is EXCLUDED (2026-07-16)** — supersedes the 2026-06-19 decision+  to include it. `hd-instapcb` moved out of the public bucket (InstaPCB is not+  releasable yet); the setup prompts no longer reference it.+- ✅ **Skills delivery**: originally bundled in `skills/`; now published as+  [`adom/hd-skillpack`](/adom/hd-skillpack) (1.0.4, 52 skills) — the dep wiring+  into this package lands with the workspace-updater-retirement merge.+- ✅ **The `adom/fusion-update-libraries` signature blocker is RESOLVED** — the+  v17 golden image baked and ships (`adom-golden-v17.tar.gz`).+- ⏳ **Verify [`adom/core`](/adom/core) carries `adom-google` / `adom-tts` /+  `adom-gchat`** so HD inherits them (was planned 2026-06-19; core is now+  4.13.x — confirm before the v18 bake).++## Status (2026-07-16)++**PUBLISHED + PUBLIC**, latest `adom/[email protected]`. Deps resolve+anonymously. Golden image **v17** ships from+[hd-wsl2-image](https://github.com/adom-inc/hd-wsl2-image/releases) (baked with+the deprecated adompkg — **v18 re-bake with `adom-wiki pkg` planned**, which+also picks up hd-windows-bootstrap 0.2.3 (no retired daemon) and the skillpack+wiring). Build the image on the laptop via AD or in CI, never in the cloud+container.