app
Adom Hydrogen
Public Made by Adomby adom
The whole Adom experience as one signed native app: your editor, your AI agent, and the full electronics design toolchain, running locally on your own machine.
← Commit history
golden-image: document the activity bar trim and the PATH story
Adds a section on which VS Code viewlets the image hides (Search, Source Control,
Run and Debug), why they are the wrong affordance in an agent-driven editor, how the
hide is done (an IndexedDB seed injected into workbench.html, since viewlet visibility
has no settings.json key), that it is a once-per-profile DEFAULT a user can undo
permanently, and the three layers that apply it after it silently failed once.
Also documents PATH: interactive and login shells resolve every baked binary, but a
non-login non-interactive shell does not, which is why ah's code carries an explicit
export PATH before every claude and adom-wiki call.
1 file changed
+44
docs/golden-image.md+44@@ -106,6 +106,50 @@ different places. No symlinks in the workspace. Symlinks cause loops in `find`, ripgrep, build tools and file watchers, and a link into `~/.local` drags the extension tree into the search index. +## The activity bar++The rail you see on the left is deliberately short. VS Code ships five default viewlets;+the image hides three of them.++| Icon | State | Why |+|---|---|---|+| Explorer | kept | you still browse files |+| Search | **hidden** | you ask the agent, and its grep beats the UI's |+| Source Control | **hidden** | the agent runs git in the terminal; the SCM viewlet is a GUI for a workflow it already owns |+| Run and Debug | **hidden** | launch configurations are a pre-AI ritual; the agent runs the thing and reads the output |+| Extensions | kept | you install and inspect extensions |+| Adom | added | adom-vscode |+| Claude | added | the Claude Code panel |++The point is not tidiness. Three of VS Code's five defaults are UI for jobs the agent now+does better from the terminal, and every icon left on that rail is a claim that clicking it+is the best way to do something. Hiding them is the honest position.++**How it is done.** Not through settings.json, because there is no setting for viewlet+visibility. VS Code stores it in IndexedDB, so the seed is a script injected into+code-server's `workbench.html` that opens the `vscode-web-state-db-global` database and+writes `workbench.activity.pinnedViewlets2` with `workbench.view.search`,+`workbench.view.scm` and `workbench.view.debug` marked `visible: false`. The same script+sets `http.linkProtectionTrustedDomains` to `["*"]`, which is what suppresses the "do you+want to open this external website?" dialog.++**It is a default, not a policy.** The write is guarded by an `adom.activityBarSeeded` key+and runs once per profile. Right-click the rail and turn Search back on and it stays on,+forever. We are choosing the starting position, not taking the icons away.++A sibling seed, `adom.sidebarSeeded`, collapses the primary sidebar once, so first load is+the rail and the editor with no panel open. Two settings finish the shape:+`workbench.activityBar.location: default` keeps the rail visible (an earlier era hid the+whole bar, which was too far), and `workbench.activityBar.iconClickBehavior: toggle` makes+clicking the active icon collapse the sidebar instead of doing nothing.++**Three layers apply it**, because it silently failed once. The seed is baked into+`workbench.html` in the image and the bake fails if the `__hdAbSeed` and+`adom.sidebarSeeded` markers are missing. ah's `configure-vscode` step re-patches+`workbench.html` if it finds the seed absent, backstopping a bake gap. And the `welcome`+step re-asserts the hide after the workbench has actually loaded, where a failure is+logged as cosmetic rather than fatal.+ ## adom-vscode The extension is under 1 MiB (`adom.adom-vscode-1.1.20`) and its CLI is 2.4 MiB at