Structural tree editor for TOML / JSON / JSONC / YAML, embedding the confy
web UI + wasm Session in a custom editor. Design:
docs/superpowers/specs/2026-07-15-vscode-extension-design.md.
Install
- Marketplace: search confy in VS Code's Extensions view, or install wenanlin.confy-vscode.
- VSCodium / Cursor / Windsurf etc.: Open VSX listing.
- Sideload a built
.vsix:code --install-extension confy-vscode-<version>.vsix(see Build).
Build
- Build the web bundle first (repo root; esbuild must run from a scratchpad
copy on this machine — see the plan/CLAUDE.md):
crates/confy-ffi: wasm-pack build --target web, thenweb: node build.mjs- assemble
web/dist(cf-build.sh's copy steps).
- assemble
cd editors/vscode && npm install && npm run build(same scratchpad rule).npm run package→confy-vscode-<version>.vsix.
Publishing a new version
- Bump
versionineditors/vscode/package.json(normally done together with the app's own release version bump in the rootchore: release vX.Y.Zcommit). - Cut the app release as usual (
git tag vX.Y.Z && git push --tags). - Once
.github/workflows/release.ymlsucceeds,publish-gate.ymlpauses for one manual approval (publish-gateenvironment), then dispatches.github/workflows/publish-vscode.ymlwith that tag — it checks out the tag, verifiespackage.json's version matches it, and publishes to the VS Marketplace + Open VSX (account/secret setup:VSCODE.md§ Publishing). - A manual
gh workflow run publish-vscode.yml -f tag=vX.Y.Z -f dry_run=truebuilds + packages without publishing — useful as a dry run.
Use
- Open a
.toml/.json/.jsonc/.yaml/.ymlfile and click the Open with confy title-bar button (tree icon) — the tab swaps to confy in place, carrying any unsaved edit; inside confy, Reopen as Text Editor swaps back the same way. (Right-click → "Reopen Editor With…" → confy still works.) To make confy the default for a glob, use VS Code'sworkbench.editorAssociationssetting (e.g."*.toml": "confy.editor"). - confy: Open Text Editor to the Side (title-bar button next to Reopen
as Text Editor, or command palette) — the real text editor, editable and
live in both directions (shared
TextDocument). - Save/undo/redo/revert are native VS Code (⌘S / ⌘Z / ⌘⇧Z / File > Revert),
backed by a shared
TextDocument— switching editors carries unsaved changes, and side-by-side text editing syncs live in both directions. - The confy toolbar header is hidden in this host — Save As / Convert…, Help, About, and the Language submenu live in the editor tab's "…" More Actions menu (command palette works too). ⇧⌘S (Ctrl-Shift-S) is the keyboard shortcut for Save As / Convert.