adom-vscode
Public Made by Adomby adom
Let Claude, Codex and Kimi drive VS Code inside your Adom container
Skills
The skills this repo ships, by tier, each with a quick health read. Install the user skills with:
adom-wiki skills install adom/adom-vscodedev-skills/ or publish-skills/, so a contributor (or their AI) has no in-repo guide to build, debug, or publish it. Consider adding them; they stay source-only and never ship in the tarball.Control VS Code Server (code-server) from inside the Docker container. THIS is the wrapper for the VS Code FILE EXPLORER sidebar, editor tabs, markdown preview, etc., when the user says 'reveal in file explorer' or 'open in vscode' they mean this CLI, NOT adom-desktop (which controls Chrome browser windows). START-HERE skill of the adom-vscode pack: file ops, workspace scoping, port discovery, and the map to the sub-skills covering live settings (adom-vscode-settings), container exec (adom-vscode-exec), the frontend event queue (adom-vscode-queue), container identity + api key (adom-vscode-container), extension management (adom-vscode-extensions), and modes/layout (adom-vscode-modes). Trigger words: adom-vscode, open in vscode, reveal in explorer, file explorer, sidebar reveal, preview markdown, vscode command, vscode api, port 8821, code-server control, drive vscode, vscode verbs.
Identify the Adom container (ah = local Hydrogen Desktop WSL2 workspace, hw = Adom cloud container), check and inject the Adom api key at /var/run/adom/api-key, discover the extension's real port when 8821 is taken, and feature-detect verbs via GET /health. Trigger words: container type, ah or hw, what kind of container, am I in hydrogen desktop, cloud container, container identity, api key status, is the api key good, refresh api key, inject api key, /var/run/adom/api-key, session key expiring, port discovery, port.json, ADOM_VSCODE_PORT, health verbs, feature detect, carbon url, vscode proxy uri.
Run shell commands inside the Adom container through the adom-vscode extension, streamed live (SSE) or buffered, as the workspace user via a login shell. Hydrogen-LOCAL ONLY: cloud (hw) containers refuse exec (exec_disabled_on_cloud), check /health verbs first. THE native replacement for routing container commands through host-side wsl.exe (which wedges, serializes behind a global lock, and flakes with E_UNEXPECTED). Trigger words: exec disabled, exec_disabled_on_cloud, exec in container, run command in container, adom-vscode exec, stream exec, streamed output, exec stream, container shell, run npm test in container, long running command, exec timeout, exec cwd, no wsl.exe, wsl exec replacement, POST /exec, SSE exec.
Query and manage VS Code extensions in the Adom container: list installed with versions and running state, get one extension's detail plus whether a newer gallery version exists, update one or all, search, install. Includes the AI assistant summary (claude = anthropic.claude-code, codex = openai.chatgpt, kimi = moonshot-ai.kimi-code). Trigger words: is claude installed, claude extension version, codex extension, kimi extension, list extensions, extension version, update extension, extension update pending, install extension, search extensions, extension running, extension state, workbench extensions, open-vsx latest, update claude code extension.
Full-screen VS Code modes (claudecode = Claude panel UI, claudetty = terminal + claude CLI, tty = generic terminal with optional auto-command), layout control (sidebar, bottom panel, terminal, activity bar), URL auto-triggers (?mode=...), Claude Code chat verbs, and the Ctrl+V paste-screenshot interceptor. Trigger words: claude code mode, claudecode, claudetty, tty mode, full screen terminal, mode reset, vscode mode, toggle sidebar, toggle panel, new terminal, activity bar, hide sidebar, show terminal, new claude chat, claude context viewer, paste screenshot, ctrl+v image, mode url, ?mode=claudecode, onboarding link.
The shared event queue between container processes and the Hydrogen Desktop / Hydrogen Web frontend, hosted by the adom-vscode extension. Any process pushes events (login refresh needed, long-job progress, arbitrary payloads); the frontend pulls when it wants. Survives window reloads. Trigger words: event queue, queue push, queue pull, push event to frontend, notify ah frontend, frontend event, progress dialog event, api key expiring event, login refresh event, queue status, queue peek, queue topic, adom-vscode queue, POST /queue/push, pull events.
Get/set ANY VS Code setting, the color theme, fonts, and font sizes LIVE from inside the container, with no window reload, so active Claude/AI sessions survive. Uses the native VS Code API (ConfigurationTarget.Global), the fix for settings.json merges that hang or need a workbench reload. Also reports the RESOLVED font family the renderer truly shows (document.fonts.check), not just the configured stack. Trigger words: change theme, set theme, vscode theme, dark theme, set font, change font, font size, editor font, terminal font size, chat font, prose font, vscode setting, config get, config set, workbench.colorTheme, editor.fontFamily, editor.fontSize, chat.fontFamily, live settings, no reload, which font is active, resolved font, font not applying, theme without reload.
No dev skills in this repo.
How to build, debug, and test this app. Source-only (dev-skills/), never shipped in the tarball.
No publish skills in this repo.
The app-to-wiki publish glue. Source-only (publish-skills/), never shipped in the tarball.
Health: the size chip is green when right-sized, yellow when getting long, red when the model likely skims it. A green check is a passed preamble/structure signal; an amber mark is a gentle nudge, not a hard failure.