app
adom-vscode
Public Made by Adomby adom
Let Claude, Codex and Kimi drive VS Code inside your Adom container
← Commit history
Publish 1.1.19
6 files changed
+36−13
README.md+3−1@@ -85,7 +85,7 @@ Everything the CLI does is a plain HTTP call, so HD, HW, and any script can hit | extensions.update | `POST /extensions/update` `{id?}` | Update one extension, or all when `id` omitted | | extensions.search | `POST /extensions/search` `{query}` | Open Extensions sidebar with a query | | extensions.install | `POST /extensions/install` `{id}` | Install by marketplace id |-| terminal.tui | `POST /terminal/tui` `{name, command?, cwd?, viewColumn?, icon?, color?}` | Open a NAMED terminal as an EDITOR TAB running a command (AI CLIs for the Hydrogen AI Threads panel); returns a handle `{id}`. `icon` is a codicon name, `color` a theme color id (`terminal.ansi*`), so per-AI tabs are distinguishable. Never touches terminal.integrated.defaultLocation. Capability marker `terminal.tui.icon` in the /health roster |+| terminal.tui | `POST /terminal/tui` `{name, command?, shellPath?, shellArgs?, env?, cwd?, viewColumn?, icon?, color?}` | Open a NAMED terminal as an EDITOR TAB running a command (AI CLIs for the Hydrogen AI Threads panel); returns a handle `{id}`. `icon` is a codicon name, `color` a theme color id (`terminal.ansi*`), so per-AI tabs are distinguishable. Never touches terminal.integrated.defaultLocation. Capability marker `terminal.tui.icon` in the /health roster | | terminal.tui.list | `GET /terminal/tui/list` | Handles: id, name, command, running state | | terminal.tui.dispose | `POST /terminal/tui/dispose` `{id?, name?}` | Close a named TUI terminal by handle | | claude.new | `POST /claude/new` | New Claude Code conversation |@@ -236,3 +236,5 @@ v1.1.15: version realignment (1.1.14 shipped a dependency-only bump with a 1.1.1 v1.1.17: named TUI terminals as editor tabs with real handles (POST /terminal/tui, /terminal/tui/dispose, GET /terminal/tui/list; CLI terminal tui / tui-list / tui-dispose), built for the Hydrogen AI Threads panel; /command now passes a non-array args value as a single argument instead of silently dropping it, and reports argsShape. v1.1.18: terminal.tui accepts optional icon (codicon name -> ThemeIcon) and color (theme color id -> ThemeColor) so AI TUI tabs match the AI Threads panel identities; tui-list echoes them; /health roster gains the terminal.tui.icon capability marker.++v1.1.19: terminal.tui accepts shellPath/shellArgs/env (createTerminal semantics): the CLI runs AS the terminal process, no shell underneath, no echoed launch line pinned atop the TUI, no quoting constraints, and the tab closes when the process exits. shellPath wins over command; a missing or non-executable shellPath fails explicitly (errorCode shell_path_not_executable) instead of falling back to a bare prompt. Capability marker terminal.tui.shell in the /health roster.
VERSION+1−1@@ -1 +1 @@-1.1.18+1.1.19
bin/adom-vscode⋯ 1 unchanged line ⋯
package.json+1−1@@ -1,6 +1,6 @@ { "slug": "adom-vscode",- "version": "1.1.18",+ "version": "1.1.19", "type": "app", "description": "CLI + VS Code extension that lets AI assistants and the Hydrogen Desktop frontend drive VS Code from inside an Adom container: open files, live get/set of any setting/theme/font (no reload), native streamed exec, a frontend event queue, container identity (hd/hw), api-key status/inject, extension query/update, modes, paste screenshots, and any VS Code command via a local HTTP API on port 8821 (with port-file fallback discovery).", "license": "PROPRIETARY",
page.json+25−8@@ -4,7 +4,7 @@ "slug": "adom-vscode", "title": "adom-vscode", "brief": "Let Claude, Codex and Kimi drive VS Code inside your Adom container",- "version": "1.1.18",+ "version": "1.1.19", "license": "PROPRIETARY", "visibility": "public", "hero": {@@ -13,13 +13,17 @@ "thumbnail": "screenshots/hero.png" }, "tags": [+ "automation",+ "claude", "cli",- "vscode", "code-server",+ "docker",+ "exec",+ "hydrogen-desktop", "ide",- "claude",- "automation",- "docker"+ "queue",+ "settings",+ "vscode" ], "discovery_triggers": [ "adom-vscode",@@ -101,7 +105,9 @@ } ], "description": "CLI + VS Code extension that lets AI assistants and the Hydrogen Desktop frontend drive VS Code from inside an Adom container: open files, live get/set of any setting/theme/font (no reload), native streamed exec, a frontend event queue, container identity (hd/hw), api-key status/inject, extension query/update, modes, paste screenshots, and any VS Code command via a local HTTP API on port 8821 (with port-file fallback discovery).",- "dependencies": {},+ "dependencies": {+ "adom/adom-theme": "^2.0.0"+ }, "scripts": { "install": "./install.sh", "uninstall": "./uninstall.sh"@@ -114,11 +120,22 @@ "install.sh", "uninstall.sh", "bin/**",- "screenshots/**"+ "screenshots/**",+ "skills/**",+ "VERSION" ], "org": "adom", "author": { "name": "John Lauer", "email": "[email protected]"- }+ },+ "confirmed_user_skills": [+ "adom-vscode",+ "adom-vscode-settings",+ "adom-vscode-exec",+ "adom-vscode-queue",+ "adom-vscode-container",+ "adom-vscode-extensions",+ "adom-vscode-modes"+ ] }
skills/adom-vscode-modes/SKILL.md+6−2@@ -53,7 +53,8 @@ compaction history. HTTP: `GET /claude/context`, `POST /claude/new`. ## Named TUI terminals as editor tabs (for AI CLIs) ```bash-adom-vscode terminal tui --name Claude --command "claude" --icon sparkle --color terminal.ansiYellow+adom-vscode terminal tui --name Claude --shell-path ~/.local/bin/claude --icon sparkle --color terminal.ansiYellow+adom-vscode terminal tui --name Bash --command "htop" # command form: typed into a shell adom-vscode terminal tui --name Kimi --command kimi --view-column beside adom-vscode terminal tui-list # ids, names, running state adom-vscode terminal tui-dispose <id> # or --name Claude@@ -64,7 +65,10 @@ executeCommand), always in the editor area, never the bottom panel, and never touching the user's terminal.integrated.defaultLocation. Optional `--icon` (codicon name) and `--color` (theme color id, `terminal.ansi*`) give each AI its own tab identity; feature-detect via the `terminal.tui.icon` marker in the /health verbs roster. HTTP: `POST-/terminal/tui {name, command?, cwd?, viewColumn?, icon?, color?}` -> `{id}`, `GET+/terminal/tui {name, command?, shellPath?, shellArgs?, env?, cwd?, viewColumn?, icon?, color?}` -> `{id}`.+Prefer shellPath for a CLI TUI: it runs AS the terminal process (no shell, no+echoed launch line, tab closes on exit; marker terminal.tui.shell); command+types into an interactive shell and stays echoed at the top, `GET /terminal/tui/list`, `POST /terminal/tui/dispose {id?|name?}`. ## Paste-screenshot interceptor