Skip to content

feat(vscode): vsix packaging and cursor/windsurf docs - #155

Merged
joshuaboys merged 2 commits into
mainfrom
feat/vscode-vsix-and-cursor-docs
Oct 20, 2026
Merged

joshuaboys merged 2 commits into
mainfrom
feat/vscode-vsix-and-cursor-docs

Conversation

@joshuaboys

Copy link
Copy Markdown
Contributor

Summary

Implements C2 (Task 1.2, conversion surface): a buildable VSIX for the editor extension, a Cursor and Windsurf install guide, and a release step that attaches the VSIX.

  • pnpm --filter @eddacraft/kindling-adapter-vscode run package (new package script + scripts/package-vsix.mjs): bundles src/extension.ts and the @eddacraft/kindling thin client into a single CommonJS file with esbuild (vscode external, import.meta.url shimmed for the client's schema/binary lookup), stages a minimal manifest named kindling with the schema version file, README and licence, then runs vsce package --no-dependencies. Output: kindling-<version>.vsix (or --out <dir>).
    • Staging is needed because vsce rejects scoped package names and does not follow pnpm workspace links; the npm package itself is unchanged.
    • New devDeps: @vscode/vsce@^4.0.0, esbuild@^0.27.0 (resolves to the already-overridden 0.27.2).
  • release.yml: new package-vsix job, if: github.event_name == 'release' only, so PR/push/dispatch behaviour is unchanged. Checks the VSIX version matches the tag, writes a .sha256 sidecar, and attaches both via softprops/action-gh-release@v2. Actions pinned to the same majors as the existing workflows. Nothing goes to the Marketplace or Open VSX.
  • Docs: new docs/quickstart/cursor-windsurf.md; extension README install section rewritten; links from README.md and docs/integrations.md. Fixed the README's KINDLING_BINARY reference to the variable the client actually reads (KINDLING_BIN). Docs only point at a release VSIX conditionally ("if the release lists one"), since no release carries one yet.

Testing

  • pnpm run build, pnpm run lint, pnpm run type-check, pnpm run test: all pass.
  • pnpm --filter @eddacraft/kindling-adapter-vscode run package: produces kindling-0.4.0.vsix (7 files, ~15 KB) with no vsce warnings.
  • Smoke test of the unpacked VSIX bundle under a stub vscode module with a locally built kindling binary: activation spawned the daemon, a file save was recorded, Search Memory found it, Status reported daemon 0.4.0 / schema 6, and deactivation closed the session.
  • actionlint .github/workflows/release.yml: clean.
  • Not yet validated: the package-vsix job itself (runs only on a published release), and a manual install in Cursor/Windsurf.

🤖 Generated with Claude Code

Add a package script that bundles the extension and the thin client
into one CommonJS file with esbuild, stages a minimal manifest named
kindling (vsce rejects scoped names and pnpm workspace links) and runs
vsce package --no-dependencies. Output: kindling-<version>.vsix.

The release workflow gains a package-vsix job, gated on published
releases only, that attaches the VSIX and a SHA256 sidecar.
Add a Cursor and Windsurf quickstart covering the kindling binary
prerequisite, building the VSIX and Install from VSIX. Link it from the
README, the integrations matrix and the extension README, and fix the
binary override variable name (KINDLING_BIN, not KINDLING_BINARY).
@joshuaboys
joshuaboys merged commit b5c2847 into main Oct 20, 2026
17 checks passed
@joshuaboys
joshuaboys deleted the feat/vscode-vsix-and-cursor-docs branch October 20, 2026 16:27
joshuaboys added a commit that referenced this pull request Oct 20, 2026
Mark C1, C2 and C4 merged (PRs #152, #155, #153), C3 in review
(#154), and PUBDIR-001/002 in review as draft PR #151. Log ISS-004
for daemons leaked by the thin-client and adapter test suites.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant