Run extension typecheck, webview typecheck, ESLint, and esbuild
concurrently instead of serially. Replace tsc with the
repository-standard tsgo for both typechecks. Enable ESLint's
content-addressed cache. Run the esbuild driver with Bun instead
of Node.
Add a launch-only SDK generation cache keyed by CLI/API input
fingerprint and generated SDK output fingerprint. Explicit compile,
package, and rebuild-sdk commands still force full SDK regeneration.
Add CSS module declarations required by tsgo for the webview.
* fix(vscode): include kilo-sandbox-mutation-worker.js in extension bundle
The release build script (packages/kilo-vscode/script/build.ts) was
missing the copyKiloSandboxWorker call, causing the sandbox mutation
worker file to be absent from .vsix packages. All sandbox-enclosed file
operations (write, copy, rename, chmod, etc.) would fail with a
"Module not found" error because the kilo binary could not spawn the
required worker process.
Closes#11925
* chore(vscode): fix import formatting
---------
Co-authored-by: marius-kilocode <marius@kilocode.ai>
The models snapshot is now embedded directly in the compiled binary,
eliminating the need for a separate models-snapshot.json file alongside
the CLI executable.
- Delete script/kilocode/models-snapshot.ts build-time preparation
- Delete src/kilocode/provider/models-snapshot.ts runtime loader
- Remove snapshot copy steps from vscode, jetbrains, and opencode builds
- Remove snapshot existence checks from PrepareLocalCliTask/CheckCliTask
- Remove snapshot-related .gitignore and .prettierignore entries
- Simplify watch-cli, local-bin, and build scripts
- Update smoke test error messages to say "embedded" not "sidecar"
- Simplify models-snapshot tests to validate parsing only
- Remove models-snapshot from extract-source-links skip list
The upstream build script tries to bundle packages/app/ which was removed in #9845. Guard the embed step so the CLI build still works, and revert the --skip-embed-web-ui workaround from #9885 since it is no longer needed.
* feat(vscode): add dev launcher preserve settings flag
* fix(vscode): parse dev launcher settings as jsonc
* fix(vscode): keep dev launcher settings merge dependency-free
Add version tracking for the shared package alongside the opencode package to improve cache invalidation. Also update the app name from "opencode" to "kilo" in the shared global configuration.
This change ensures that the local binary build process tracks both the opencode and shared package versions, allowing for more accurate cache invalidation when either package changes. The app name update reflects the correct project branding.
* fix(vscode): strip Electron env vars in dev launch script
When bun run extension is invoked from a VS Code task (e.g. the Agent
Manager run button), ELECTRON_* and VSCODE_* env vars leak into the
spawned process, causing VS Code to reuse the existing instance instead
of opening a new window. Strip these vars before spawning.
* fix(vscode): also strip Electron env vars in blocking launch path
Add a pre_release checkbox to the publish workflow that passes
--pre-release to vsce package, vsce publish, and ovsx publish.
This enables publishing to the VS Code Marketplace pre-release
channel without requiring a separate versioning scheme.
Closes#8156
Remove --pre-release flag from vsce package and vsce publish commands.
Previously the VS Code Marketplace received a pre-release VSIX while
Open VSX received a production VSIX. Now both receive the same
production VSIX built without --pre-release, eliminating the separate
out/prod/ directory.
local-bin.ts now tracks the latest git commit hash of packages/opencode/
in bin/.cli-version. On subsequent runs, if the hash differs, the binary
is automatically rebuilt instead of silently reusing a stale one.