adom-cli
Public Made by Adomby adom
Adom CLI — platform binary for containers, repos, workspaces, orgs, SSH keys, Hydrogen settings, and more
apply: detach launched apps from the terminal; fill HC placeholders instead of nesting the bench in the editor pane
Two findings from Colby applying adom/drone-layout-dc-00 through the Hydrogen Cloud Apply button on gallia (2026-09-14 16:58, adom-cli 0.7.1) and on container-v2 earlier today.
App processes die when the launching terminal closes. HC runs
adom-cli hydrogen workspace apply <ref>through adom-vscodeterminal.tuiwithshellPath, which closes the terminal as soon as the CLI exits. After the apply reported success, the Cam .35 / Cam .34 tabs pointed at proxy/40769 and Drone RF Wall at proxy/8130, but nomjpeg-stream-viewerordrone-rfprocess existed (ECONNREFUSED in every pane, same on container-v2). Applied from a persistent shell (my Bash, the CLI thread's tests) the same apps stay up. Ask: spawn dock-launched apps detached from the CLI's process group (setsid /detached: true, stdio to the app's log file,unref), so a closing pty cannot take them down; and after the launch step prints its URL, re-probe the URL once before declaring the tab live.Merge apply nests the whole bench inside the editor pane when HC's placeholders are present. HC had drawn the bench skeleton (editor leaf, two placeholder cam leaves named "Cam .35 (not started)" / "Cam .34 (not started)" with
panelState.placeholder: true, and "Drone RF Wall (not started)"). The CLI did not match those placeholders (names differ, and their URL is the wiki page), so it split the editor leaf and built the complete tree again inside it: editor | cams inside the editor's pane, RF wall inside that, with HC's placeholders still around the outside. Ask: match a placeholder bypanelState.placeholder === trueplus the file's displayName ignoring a trailing " (not started)" (HC is being asked to drop the suffix; accept both), fill it in place (URL, header, displayName), and when the tree already contains leaves for the file's tabs, place into them instead of splitting the editor leaf.
The tree I captured is in the first comment below. Real tabs the CLI made did carry headerHidden correctly.