bootstrap
Adom Hydrogen (platform base)
Public Made by Adomby adom
Layer Hydrogen's workspace onto a standard Adom workstation.
← Commit history
skills/hd-dock/SKILL.mddeleted−113@@ -1,113 +0,0 @@-name: hd-dock-description: The Hydrogen Desktop dock (the app launcher rail on the right edge of the workspace) and how apps get into it. Covers the two-layer list (the adom-curated global manifest plus user-added wiki apps), the dock block an app declares in its wiki package.json so the dock knows how to launch it, the container_command step contract (--print-url, skip_if, await url, timeouts), the free orbital loading screen, and how a user or an AI adds any wiki app to the dock locally. Read this when a user says: add an app to the dock, add my app to the dock, put this wiki page in the dock, dock settings, make my app dock-ready, dock block, dock manifest, launch steps, how do dock apps launch, app launcher, featured apps, pin an app, hover zoom, alt-pin.--# hd-dock: the Hydrogen Desktop app launcher--The dock is the launcher rail on the right edge of the HD workspace. Every card-in it is a wiki app page. The dock resolves what to SHOW (name, brief, hero)-from the page itself and how to LAUNCH from a `dock` block the app declares.-Display is never duplicated into the dock; the page is the single source of truth.--## The list has two layers--1. **The global manifest (adom-curated).** HD fetches a public manifest and- renders its apps. Only the adom team edits it; `featured` and `order` exist- only here. It is world-readable at:-- `https://wiki.adom.inc/blob/bootstrap/hd-bootstrap/dock/apps.json`-- HD refreshes it on launch and then on the poll cadence the manifest itself- declares (`poll_seconds`, currently 6 hours), so curation changes never wait- for an HD release. Want your app on the global list? Make it dock-ready- (below), then open an issue on the adom/hydrogen-desktop wiki page asking- for listing; the adom team vets and merges.--2. **User-added apps (self-serve, local).** Any user adds any public wiki app- from Dock settings (the gear at the top of the rail) with `owner/slug`, or- by asking their AI ("add adom/orbital-lab to my dock"). These render in All- apps, are pinnable, and persist locally. They never affect other users.--## The `dock` block (what an app declares)--In the app's wiki `package.json`:--```json-"dock": {- "webview": { "title": "Adom TSCi", "favicon": "icons/tsci.svg" },- "launch": {- "mode": "container_command",- "steps": [- { "label": "Installing Adom TSCi",- "run": "adom-wiki pkg install adom/adom-tsci",- "skip_if": "command -v adom-tsci",- "timeout_seconds": 180 },- { "label": "Starting the board viewer",- "run": "adom-tsci serve --print-url",- "await": "url",- "timeout_seconds": 60 }- ],- "on_ready": "navigate_placeholder"- }-}-```--### webview--| Field | Required | Meaning |-|---|---|---|-| `title` | yes | Webview tab title while the app is loaded |-| `favicon` | no | Tab icon, a path in the app's page repo |-| `url` | for `mode: "webview"` | Page to load directly (hosted app, or the wiki page itself) |--### launch--- `mode: "webview"`: nothing to install; the dock loads `webview.url` directly.-- `mode: "container_command"`: run `steps` in order in the user's workspace- container, then `on_ready: "navigate_placeholder"` navigates the pre-loaded- webview to the URL a step produced.--| Step field | Required | Meaning |-|---|---|---|-| `label` | yes | Shown in the launch toast while the step runs |-| `run` | yes | The command |-| `skip_if` | no | Probe command; exit 0 skips the step (idempotent installs) |-| `await` | no | `url`: scrape the first URL the command prints, hold for on_ready |-| `url_pattern` | no | Scrape regex, default `https?://\S+` |-| `timeout_seconds` | no | Per-step budget; timing out fails the launch with this label |--**The `--print-url` convention** is the whole integration contract: a dock-ready-server verb prints its own reachable URL to stdout and keeps serving.--## The loading screen is free--The instant a launch involves a webview, HD paints the panel with the workspace-theme background token and runs the Adom orbital loading animation (transparent,-so it reflects any theme) until the app URL has truly loaded, then fades it out.-Install steps stay behind the mark with their labels ticking in the launch toast.-Apps bundle nothing and opt into nothing. Details and the embeddable single-file-animation: the adom/orbital-lab wiki page.--## Publisher checklist (make your app dock-ready)--1. Public wiki page with a hero and a billboard-quality one-line brief; the- dock shows exactly these.-2. Install step is `adom-wiki pkg install <owner>/<slug>` with a `skip_if`- probe so relaunches skip it.-3. Server verb takes `--print-url`; that step gets `await: "url"`.-4. Sane `timeout_seconds` (180 install / 60 serve are good defaults).-5. Add the `dock` block to package.json, publish the page.-6. Test from your own dock: Dock settings, Add app, `owner/slug`, click it,- watch the steps run behind the loading mark.--## Adding an app for a user (AI recipe)--When the user asks you to add a wiki app to their dock:--1. Confirm the page exists and is public (`adom-wiki discover search`).-2. Open Dock settings (gear at the top of the rail), Add app, enter- `owner/slug`; or drive the equivalent HD API if you are automating.-3. If the page has no `dock` block, it still loads as a plain webview of its- wiki page; tell the user launch steps need the block and point the- publisher at this skill.