Download

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-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.