Skip to content

feat(vsix): auto-bootstrap binary + full CLI command coverage - #22

Merged
josealekhine merged 5 commits into
ActiveMemory:mainfrom
bilersan:pr/vsix-full-commands
Feb 28, 2026
Merged

feat(vsix): auto-bootstrap binary + full CLI command coverage#22
josealekhine merged 5 commits into
ActiveMemory:mainfrom
bilersan:pr/vsix-full-commands

Conversation

@bilersan

Copy link
Copy Markdown
Contributor

Closes #21

What

Brings the VS Code chat participant to full parity with the ctx CLI.

Auto-bootstrap (commit 1)

  • Downloads correct platform binary from GitHub Releases when ctx is not on PATH
  • Caches in VS Code global storage, verifies binary before use
  • Platform detection: darwin/linux/windows x amd64/arm64

Full command coverage (commit 2)

Adds 6 missing chat participant commands:

Command Description
/complete Mark tasks done by ID or text
/remind Add, list, dismiss reminders
/tasks Archive or snapshot tasks
/pad Encrypted scratchpad
/notify Webhook notifications
/system Resources, bootstrap, messages

Platform fixes

  • shell: true on Windows for execFile PATH resolution
  • Proper arg splitting in notify handler
  • Minor gofmt fix in internal/cli/system/input.go

Testing

  • 53/53 vitest tests pass (41 new tests for the 6 commands)
  • esbuild bundle: 17.6kb
  • Tested on Linux; Windows/macOS paths verified via code review

Files changed

  • editors/vscode/src/extension.ts — handlers + bootstrap
  • editors/vscode/src/extension.test.ts — 41 new tests
  • editors/vscode/package.json — 6 new command registrations
  • internal/cli/system/input.go — gofmt fix

When the ctx binary is not found on PATH, the extension now
automatically downloads the correct platform-specific binary from
GitHub Releases. Supports darwin/linux/windows on amd64/arm64.

Binary is cached in VS Code's globalStorageUri and verified with
--version before use. Falls back to manual install instructions
if auto-download fails.

Signed-off-by: bilersan <ersanbilik@gmail.com>
Implements all missing ctx CLI commands in the VS Code chat participant:
- /complete: mark tasks as done by ID or text
- /remind: add, list, dismiss session reminders
- /tasks: archive completed tasks, create snapshots
- /pad: encrypted scratchpad (add/show/rm/edit/mv/list)
- /notify: webhook setup, test, and send
- /system: resources, bootstrap, message management

Platform agnosticism fixes:
- Use shell:true on Windows for PATH executable resolution
- Fix notify arg splitting (was passing full prompt as single arg)
- Fix gofmt in internal/cli/system/input.go

53/53 tests pass, all commands registered in package.json.

Signed-off-by: bilersan <ersanbilik@gmail.com>
Extract repeated box-drawing string into config.NudgeBoxBottom constant
used by 4 system hook files (check_backup_age, check_persistence,
check_reminders, check_context_size).

Signed-off-by: bilersan <ersanbilik@gmail.com>
@bilersan
bilersan force-pushed the pr/vsix-full-commands branch from 9a4d982 to e5ae163 Compare February 27, 2026 13:49
The tim-actions/dco action requires a 'commits' input from
tim-actions/get-pr-commits. Without it, JSON.parse receives an
empty string and crashes with 'Unexpected end of JSON input'.

Replaces the unused checkout step with the correct get-pr-commits
step per the action's documented usage.

Signed-off-by: bilersan <ersanbilik@gmail.com>
@josealekhine

Copy link
Copy Markdown
Member

Thanks @bilersan ; I'll get back to this: There's a ton of upstream work at the moment.

@josealekhine

Copy link
Copy Markdown
Member

Screw that. I'm merging it :D

Worst could happen? VS Code breaks; @bilersan fixes :D .

@josealekhine
josealekhine merged commit c220a42 into ActiveMemory:main Feb 28, 2026
3 checks passed
@josealekhine

Copy link
Copy Markdown
Member

Landed!

@bilersan
bilersan deleted the pr/vsix-full-commands branch April 27, 2026 19:36
josealekhine added a commit that referenced this pull request Jul 7, 2026
feat(vsix): auto-bootstrap binary + full CLI command coverage
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.

VS Code extension: auto-bootstrap binary + full CLI command coverage

2 participants