Dock Bar SDK
Public Made by Adomby adom
The Adom Hydrogen dock bar SDK: drop a dock.json/dockbar.json manifest into your wiki app repo and it becomes a dock candidate. Full manifest reference (webview, container_command steps with --print-url, console show/hide, the ai block) plus the click lifecycle, defaults, testing, and the publisher checklist.
name: hydrogen-dock-sdk description: >- Make a wiki app launchable from the Adom Hydrogen dock bar. Read when a user says: make my app dock-ready, add my app to the dock, dock.json, dockbar.json, dock manifest, launch steps, AI thread on dock launch, staged vs auto submit, typed prompt, dock console output, dock bar sdk.
hydrogen-dock-sdk: make an app dock-ready
The full reference lives in this page's README — read it for the complete manifest schema, defaults, the click lifecycle, and the publisher checklist. This skill is the working summary.
The contract
Put a dock.json (or dockbar.json) at the app's wiki page repo root
(sub-folders work, root preferred; depth capped at 2). Hydrogen discovers it and the
app becomes a dock candidate. Display (name, brief, hero) always comes from the
page itself — the manifest only describes the launch.
{
"dock_manifest": "1.1.0",
"webview": { "title": "My App", "favicon": "icons/app.svg" },
"launch": {
"mode": "container_command",
"console": "show",
"steps": [
{ "label": "Installing", "run": "adom-wiki pkg install owner/slug",
"skip_if": "command -v myapp", "timeout_seconds": 180 },
{ "label": "Starting", "run": "myapp serve --print-url",
"await": "url", "timeout_seconds": 60 }
],
"on_ready": "navigate_placeholder",
"ai": { "prompt": "…", "thread": "existing", "thread_fallback": "new",
"submit": "staged", "typed": false }
}
}
The rules that matter
--print-urlis the integration contract: the serve verb prints its reachable URL to stdout and keeps serving; that step getsawait: "url".consoledefaults to"show"(command transcript streams under the orbital loading animation);"hide"for animation-only.- No
aiblock → no AI thread. A dock click is not an AI event unless the manifest says so. submitdefaults to"staged"(prompt sits in the input for the user to send);"auto"submits immediately.typed: true= tutorial-style typing animation (default instant).thread: "existing"finds the most recent thread Hydrogen tagged for this app and foregrounds it;thread_fallback("new"default |"current") applies when none exists.- Manifests declaring
1.0.0keep the oldsubmit: "auto"default; the staged default applies to1.1.0+.
Test before publishing
Dock settings (gear) → Add app → owner/slug reads the live manifest
immediately, your Hydrogen only. Whole-list drafts: Dock settings → Manifest URL
(draft). Global listing is adom-curated — request via an issue on
adom/adom-hydrogen.
---
name: hydrogen-dock-sdk
description: >-
Make a wiki app launchable from the Adom Hydrogen dock bar. Read when a user says: make my app dock-ready, add my app to the dock, dock.json, dockbar.json, dock manifest, launch steps, AI thread on dock launch, staged vs auto submit, typed prompt, dock console output, dock bar sdk.
---
# hydrogen-dock-sdk: make an app dock-ready
The full reference lives in this page's README — read it for the complete
manifest schema, defaults, the click lifecycle, and the publisher checklist.
This skill is the working summary.
## The contract
Put a `dock.json` (or `dockbar.json`) at the app's wiki page repo root
(sub-folders work, root preferred; depth capped at 2). Hydrogen discovers it and the
app becomes a dock candidate. Display (name, brief, hero) always comes from the
page itself — the manifest only describes the launch.
```json
{
"dock_manifest": "1.1.0",
"webview": { "title": "My App", "favicon": "icons/app.svg" },
"launch": {
"mode": "container_command",
"console": "show",
"steps": [
{ "label": "Installing", "run": "adom-wiki pkg install owner/slug",
"skip_if": "command -v myapp", "timeout_seconds": 180 },
{ "label": "Starting", "run": "myapp serve --print-url",
"await": "url", "timeout_seconds": 60 }
],
"on_ready": "navigate_placeholder",
"ai": { "prompt": "…", "thread": "existing", "thread_fallback": "new",
"submit": "staged", "typed": false }
}
}
```
## The rules that matter
- **`--print-url` is the integration contract**: the serve verb prints its
reachable URL to stdout and keeps serving; that step gets `await: "url"`.
- **`console`** defaults to `"show"` (command transcript streams under the
orbital loading animation); `"hide"` for animation-only.
- **No `ai` block → no AI thread.** A dock click is not an AI event unless the
manifest says so.
- **`submit` defaults to `"staged"`** (prompt sits in the input for the user to
send); `"auto"` submits immediately. `typed: true` = tutorial-style typing
animation (default instant).
- **`thread: "existing"`** finds the most recent thread Hydrogen tagged for this app
and foregrounds it; `thread_fallback` (`"new"` default | `"current"`) applies
when none exists.
- Manifests declaring `1.0.0` keep the old `submit: "auto"` default; the
staged default applies to `1.1.0`+.
## Test before publishing
Dock settings (gear) → Add app → `owner/slug` reads the live manifest
immediately, your Hydrogen only. Whole-list drafts: Dock settings → Manifest URL
(draft). Global listing is adom-curated — request via an issue on
adom/adom-hydrogen.