name: hydrogen-welcome description: > The Hydrogen welcome page — shown after setup steps complete. Served from static/welcome.html at http://localhost:1420/welcome.html. Shows Adom branding, "Build and test electronics in the cloud", and an "Open Claude Code" button. This is NOT the adom.inc homepage — it's a local static page bundled with Hydrogen. Trigger words: welcome page, welcome tab, show welcome, onboarding page, setup complete page, first launch page.

Hydrogen Welcome Page

The welcome page is a static HTML page bundled with Hydrogen at static/welcome.html. It's served locally at http://localhost:1420/welcome.html by Hydrogen's dev file server.

What it shows

  • Adom logo and branding
  • "Build and test electronics in the cloud"
  • Description of the Adom cloud factory
  • "Open Claude Code" button
  • Links to documentation

When it appears

  • Automatically as the final setup step — the open-welcome gate (the last step of the setup cascade for the active runtime).
  • Can be opened manually via the API

How to open it

From inside the workspace (the standard way)

This is how the setup steps do it, and how any AI inside the workspace should:

adom-cli hydrogen webview open-or-refresh \
  --name Welcome \
  --url http://localhost:1420/welcome.html \
  --panel-id desktop-pane-right

localhost:1420 is Hydrogen's dev file server running on the host (where Hydrogen itself runs), NOT anything inside the workspace. Hydrogen's webview renders the URL against the host, so the page resolves on whatever platform Hydrogen is running on.

From outside (via Hydrogen control API)

The workspace tabs API doesn't reliably store the URL in panelState when creating tabs. The reliable method is to navigate an existing webview iframe:

# Method 1: Navigate right-pane iframe via eval (reliable)
curl -X POST http://127.0.0.1:47084/eval \
  -H Content-Type:application/json \
  -d '{"js":"(function(){var iframes=document.querySelectorAll(\"iframe\");for(var i=0;i<iframes.length;i++){var r=iframes[i].getBoundingClientRect();if(r.x>400&&r.width>200){iframes[i].src=\"http://localhost:1420/welcome.html\";return \"ok\"}}return \"no iframe\"})()"}'

# Method 2: Create tab then navigate (2 steps)
# Step 1: Create tab
curl -X POST http://127.0.0.1:47083/api/workspaces/editor/{owner}/{repo}/current/tabs \
  -H Content-Type:application/json \
  -d '{"name":"Welcome","panelType":"adom/a1b2c3d4-0031-4000-a000-000000000031","panelId":"desktop-pane-right","panelState":{"url":"http://localhost:1420/welcome.html","displayName":"Welcome","displayIcon":"mdi:hand-wave"}}'
# Step 2: If URL didn't load, navigate the iframe via eval (Method 1)

IMPORTANT: This is NOT

It is a LOCAL static page at http://localhost:1420/welcome.html, bundled in static/welcome.html in the Hydrogen repo.

Panel type

Webview tabs in Hydrogen use panel type adom/a1b2c3d4-0031-4000-a000-000000000031. Do NOT use panelType: "webview" — that shows "Unknown panel type" error.