{ "name": "gsd-2", "displayName": "GSD-2", "description": "VS Code integration for the GSD-2 coding agent — sidebar dashboard, @gsd chat participant, activity feed, conversation history, code lens, session forking, slash command completion, workflow controls, and 33 commands", "publisher": "FluxLabs", "version": "0.3.0", "icon": "logo.jpg", "license": "MIT", "repository": { "type": "git", "url": "https://github.com/gsd-build/gsd-2" }, "homepage": "https://github.com/gsd-build/gsd-2/blob/main/vscode-extension/README.md", "bugs": { "url": "https://github.com/gsd-build/gsd-2/issues" }, "keywords": [ "ai", "agent", "coding", "gsd", "chat", "automation", "claude", "openai", "llm" ], "galleryBanner": { "color": "#1a1a2e", "theme": "dark" }, "extensionKind": ["workspace"], "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" }, { "command": "gsd.toggleAutoRetry", "title": "GSD: Toggle Auto-Retry" }, { "command": "gsd.abortRetry", "title": "GSD: Abort Retry" }, { "command": "gsd.setSessionName", "title": "GSD: Set Session Name" }, { "command": "gsd.copyLastResponse", "title": "GSD: Copy Last Response" }, { "command": "gsd.switchSession", "title": "GSD: Switch Session" }, { "command": "gsd.refreshSessions", "title": "GSD: Refresh Sessions", "icon": "$(refresh)" }, { "command": "gsd.clearFileDecorations", "title": "GSD: Clear File Decorations" }, { "command": "gsd.showHistory", "title": "GSD: Show Conversation History" }, { "command": "gsd.askAboutSymbol", "title": "GSD: Ask About Symbol" }, { "command": "gsd.clearActivity", "title": "GSD: Clear Activity Feed", "icon": "$(clear-all)" }, { "command": "gsd.forkSession", "title": "GSD: Fork Session" }, { "command": "gsd.toggleSteeringMode", "title": "GSD: Toggle Steering Mode" }, { "command": "gsd.toggleFollowUpMode", "title": "GSD: Toggle Follow-Up Mode" }, { "command": "gsd.refactorSymbol", "title": "GSD: Refactor Symbol" }, { "command": "gsd.findBugsSymbol", "title": "GSD: Find Bugs in Symbol" }, { "command": "gsd.generateTestsSymbol", "title": "GSD: Generate Tests for Symbol" }, { "command": "gsd.acceptAllChanges", "title": "GSD: Accept All Agent Changes", "icon": "$(check-all)" }, { "command": "gsd.discardAllChanges", "title": "GSD: Discard All Agent Changes", "icon": "$(discard)" }, { "command": "gsd.acceptFileChanges", "title": "Accept Changes", "icon": "$(check)" }, { "command": "gsd.discardFileChanges", "title": "Discard Changes", "icon": "$(discard)" }, { "command": "gsd.restoreCheckpoint", "title": "GSD: Restore Checkpoint" }, { "command": "gsd.fixProblemsInFile", "title": "GSD: Fix Problems in File" }, { "command": "gsd.fixAllProblems", "title": "GSD: Fix All Problems" }, { "command": "gsd.clearDiagnostics", "title": "GSD: Clear Agent Diagnostics" }, { "command": "gsd.commitAgentChanges", "title": "GSD: Commit Agent Changes" }, { "command": "gsd.createAgentBranch", "title": "GSD: Create Branch for Agent Work" }, { "command": "gsd.showAgentDiff", "title": "GSD: Show Agent Diff" }, { "command": "gsd.clearPlan", "title": "GSD: Clear Plan View", "icon": "$(clear-all)" }, { "command": "gsd.cycleApprovalMode", "title": "GSD: Cycle Approval Mode" }, { "command": "gsd.selectApprovalMode", "title": "GSD: Select Approval Mode" } ], "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" }, { "command": "gsd.abort", "key": "ctrl+shift+g ctrl+shift+a", "mac": "cmd+shift+g cmd+shift+a" }, { "command": "gsd.steer", "key": "ctrl+shift+g ctrl+shift+i", "mac": "cmd+shift+g cmd+shift+i" }, { "command": "gsd.sendMessage", "key": "ctrl+shift+g ctrl+shift+p", "mac": "cmd+shift+g cmd+shift+p" } ], "viewsContainers": { "activitybar": [ { "id": "gsd", "title": "GSD", "icon": "$(hubot)" } ] }, "views": { "gsd": [ { "type": "webview", "id": "gsd-sidebar", "name": "GSD Agent" }, { "id": "gsd-sessions", "name": "Sessions" }, { "id": "gsd-activity", "name": "Activity" } ] }, "menus": { "view/title": [ { "command": "gsd.refreshSessions", "when": "view == gsd-sessions", "group": "navigation" }, { "command": "gsd.clearActivity", "when": "view == gsd-activity", "group": "navigation" } ], "scm/title": [ { "command": "gsd.acceptAllChanges", "group": "navigation", "when": "scmProvider == gsd" }, { "command": "gsd.discardAllChanges", "group": "navigation", "when": "scmProvider == gsd" } ], "scm/resourceState/context": [ { "command": "gsd.acceptFileChanges", "group": "inline", "when": "scmProvider == gsd" }, { "command": "gsd.discardFileChanges", "group": "inline", "when": "scmProvider == gsd" } ] }, "chatParticipants": [ { "id": "gsd.agent", "name": "gsd", "fullName": "GSD Agent", "description": "GSD-2 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" }, "gsd.codeLens": { "type": "boolean", "default": true, "description": "Show 'Ask GSD' code lens above functions and classes" }, "gsd.showProgressNotifications": { "type": "boolean", "default": false, "description": "Show progress notification while the agent is working" }, "gsd.activityFeedMaxItems": { "type": "number", "default": 100, "minimum": 10, "maximum": 500, "description": "Maximum number of items shown in the Activity feed" }, "gsd.showContextWarning": { "type": "boolean", "default": true, "description": "Warn when context window usage exceeds the threshold" }, "gsd.contextWarningThreshold": { "type": "number", "default": 80, "minimum": 50, "maximum": 95, "description": "Context window usage percentage that triggers a warning" }, "gsd.approvalMode": { "type": "string", "default": "auto-approve", "enum": ["auto-approve", "ask", "plan-only"], "enumDescriptions": [ "Agent runs freely without prompts", "Prompt before file changes and commands", "Read-only mode — agent can analyze but not modify" ], "description": "Approval mode for agent actions" } } } }, "scripts": { "build": "tsc", "watch": "tsc --watch", "package": "vsce package", "publish": "vsce publish" }, "devDependencies": { "@types/vscode": "^1.95.0", "@vscode/vsce": "^3.7.1", "typescript": "^5.7.0" } }