singularity-forge/vscode-extension/package.json
Jeremy McSpadden d5e664c580 feat: fully flesh out VS Code extension with all RPC features
GsdClient — expose all 25 RPC commands:
- Prompting: steer, followUp
- Thinking: setThinkingLevel, cycleThinkingLevel
- Compaction: compact, setAutoCompaction
- Retry: setAutoRetry, abortRetry
- Bash: runBash, abortBash
- Session: getSessionStats, exportHtml, switchSession, setSessionName,
  getMessages, getLastAssistantText, getCommands
- Model: cycleModel

Extension — register 15 commands with full UI:
- switchModel (QuickPick with context windows)
- setThinking (QuickPick off/low/medium/high)
- sessionStats (formatted token/cost display)
- exportHtml (save dialog)
- steer/runBash (input boxes)
- listCommands (QuickPick, select to execute)
- Keybindings: ctrl+shift+g chords for new session, cycle model, cycle thinking
- Config: gsd.autoStart, gsd.autoCompaction

Sidebar — full dashboard:
- Thinking level badge and toggle
- Token usage (input/output) and cost from session stats
- Streaming spinner indicator
- Model selector and quick action buttons (compact, export, abort)
- Auto-compaction toggle
- 10s periodic refresh for live stats

Chat participant — enhanced event handling:
- Tool-specific details (file paths, bash commands, grep patterns)
- Thinking block display
- Token usage summary at end of each response
2026-03-16 16:46:21 -05:00

156 lines
3.5 KiB
JSON

{
"name": "gsd-vscode",
"displayName": "GSD - Get Shit Done",
"description": "VS Code integration for the GSD coding agent",
"publisher": "gsd-build",
"version": "0.1.0",
"license": "MIT",
"engines": {
"vscode": "^1.95.0"
},
"categories": [
"AI",
"Chat"
],
"activationEvents": [
"onStartupFinished"
],
"main": "dist/extension.js",
"contributes": {
"commands": [
{
"command": "gsd.start",
"title": "GSD: Start Agent"
},
{
"command": "gsd.stop",
"title": "GSD: Stop Agent"
},
{
"command": "gsd.newSession",
"title": "GSD: New Session"
},
{
"command": "gsd.sendMessage",
"title": "GSD: Send Message"
},
{
"command": "gsd.cycleModel",
"title": "GSD: Cycle Model"
},
{
"command": "gsd.cycleThinking",
"title": "GSD: Cycle Thinking Level"
},
{
"command": "gsd.compact",
"title": "GSD: Compact Context"
},
{
"command": "gsd.abort",
"title": "GSD: Abort Current Operation"
},
{
"command": "gsd.exportHtml",
"title": "GSD: Export Conversation as HTML"
},
{
"command": "gsd.sessionStats",
"title": "GSD: Show Session Stats"
},
{
"command": "gsd.runBash",
"title": "GSD: Run Bash Command"
},
{
"command": "gsd.switchModel",
"title": "GSD: Switch Model"
},
{
"command": "gsd.setThinking",
"title": "GSD: Set Thinking Level"
},
{
"command": "gsd.steer",
"title": "GSD: Steer Agent"
},
{
"command": "gsd.listCommands",
"title": "GSD: List Available Commands"
}
],
"keybindings": [
{
"command": "gsd.newSession",
"key": "ctrl+shift+g ctrl+shift+n",
"mac": "cmd+shift+g cmd+shift+n"
},
{
"command": "gsd.cycleModel",
"key": "ctrl+shift+g ctrl+shift+m",
"mac": "cmd+shift+g cmd+shift+m"
},
{
"command": "gsd.cycleThinking",
"key": "ctrl+shift+g ctrl+shift+t",
"mac": "cmd+shift+g cmd+shift+t"
}
],
"viewsContainers": {
"activitybar": [
{
"id": "gsd",
"title": "GSD",
"icon": "$(hubot)"
}
]
},
"views": {
"gsd": [
{
"type": "webview",
"id": "gsd-sidebar",
"name": "GSD Agent"
}
]
},
"chatParticipants": [
{
"id": "gsd.agent",
"name": "gsd",
"fullName": "GSD Agent",
"description": "Get Shit Done coding agent",
"isSticky": true
}
],
"configuration": {
"title": "GSD",
"properties": {
"gsd.binaryPath": {
"type": "string",
"default": "gsd",
"description": "Path to the GSD binary"
},
"gsd.autoStart": {
"type": "boolean",
"default": false,
"description": "Automatically start the GSD agent when the extension activates"
},
"gsd.autoCompaction": {
"type": "boolean",
"default": true,
"description": "Enable automatic context compaction"
}
}
}
},
"scripts": {
"build": "tsc",
"watch": "tsc --watch",
"package": "vsce package"
},
"devDependencies": {
"@types/vscode": "^1.95.0",
"typescript": "^5.7.0"
}
}