feat(vscode): add marketplace-ready files for VS Code extension publishing
Adds everything needed to publish the extension to the VS Code Marketplace: - README.md — full feature documentation with commands table, keyboard shortcuts, configuration reference, quick start guide, and @gsd chat participant usage - CHANGELOG.md — initial 0.1.0 release notes - .vscodeignore — excludes src/, tsconfig, maps from the .vsix package - .gitignore — excludes dist/ and *.vsix from version control - LICENSE — MIT license copied from repo root - package.json — adds repository, homepage, bugs, keywords, galleryBanner fields required by the marketplace; adds @vscode/vsce to devDependencies; adds publish script Verified: `npm run package` produces a clean 30KB .vsix with no warnings. Run `npm run publish` with a VSCE_PAT token to publish.
This commit is contained in:
parent
add9e8cf3c
commit
2df27c5179
7 changed files with 4122 additions and 2 deletions
3
vscode-extension/.gitignore
vendored
Normal file
3
vscode-extension/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
dist/
|
||||
node_modules/
|
||||
*.vsix
|
||||
9
vscode-extension/.vscodeignore
Normal file
9
vscode-extension/.vscodeignore
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
.vscode/**
|
||||
.vscode-test/**
|
||||
src/**
|
||||
.gitignore
|
||||
tsconfig.json
|
||||
**/*.ts
|
||||
!dist/**
|
||||
node_modules/**
|
||||
**/*.map
|
||||
11
vscode-extension/CHANGELOG.md
Normal file
11
vscode-extension/CHANGELOG.md
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
# Changelog
|
||||
|
||||
## [0.1.0]
|
||||
|
||||
Initial release.
|
||||
|
||||
- Full RPC client — spawns `gsd --mode rpc`, JSON line framing, all 25 RPC commands
|
||||
- Sidebar dashboard — connection status, model info, thinking level, token usage, cost, quick actions
|
||||
- Chat participant — `@gsd` in VS Code Chat with streaming responses
|
||||
- 15 commands with keyboard shortcuts
|
||||
- Auto-start and auto-compaction configuration
|
||||
21
vscode-extension/LICENSE
Normal file
21
vscode-extension/LICENSE
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2026 Lex Christopherson
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
91
vscode-extension/README.md
Normal file
91
vscode-extension/README.md
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
# GSD — VS Code Extension
|
||||
|
||||
Control the [GSD coding agent](https://github.com/gsd-build/gsd-2) directly from VS Code. Run autonomous coding sessions, chat with `@gsd` in VS Code Chat, and monitor your agent from a sidebar dashboard — all without leaving the editor.
|
||||
|
||||
## Requirements
|
||||
|
||||
GSD must be installed before activating this extension:
|
||||
|
||||
```bash
|
||||
npm install -g gsd-pi
|
||||
```
|
||||
|
||||
Node.js ≥ 20.6.0 and Git are required.
|
||||
|
||||
## Features
|
||||
|
||||
### Sidebar Dashboard
|
||||
|
||||
Click the GSD icon in the Activity Bar to open the agent dashboard. It shows:
|
||||
|
||||
- Connection status (connected / disconnected)
|
||||
- Active model and provider
|
||||
- Thinking level
|
||||
- Token usage and session cost
|
||||
- Quick action buttons: Start, Stop, New Session, Compact, Abort
|
||||
|
||||
### Chat Integration (`@gsd`)
|
||||
|
||||
Use `@gsd` in VS Code Chat (`Ctrl+Shift+I`) to send messages to the agent:
|
||||
|
||||
```
|
||||
@gsd refactor the auth module to use JWT
|
||||
@gsd /gsd auto
|
||||
@gsd what's the current milestone status?
|
||||
```
|
||||
|
||||
### Commands
|
||||
|
||||
All commands are accessible via `Ctrl+Shift+P`:
|
||||
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| **GSD: Start Agent** | Connect to the GSD agent |
|
||||
| **GSD: Stop Agent** | Disconnect the agent |
|
||||
| **GSD: New Session** | Start a fresh conversation |
|
||||
| **GSD: Send Message** | Send a message to the agent |
|
||||
| **GSD: Abort Current Operation** | Interrupt the current operation |
|
||||
| **GSD: Steer Agent** | Send a steering message mid-operation |
|
||||
| **GSD: Switch Model** | Pick a model from QuickPick |
|
||||
| **GSD: Cycle Model** | Rotate to the next configured model |
|
||||
| **GSD: Set Thinking Level** | Choose off / low / medium / high |
|
||||
| **GSD: Cycle Thinking Level** | Rotate through thinking levels |
|
||||
| **GSD: Compact Context** | Manually trigger context compaction |
|
||||
| **GSD: Export Conversation as HTML** | Save the session as HTML |
|
||||
| **GSD: Show Session Stats** | Display token usage and cost |
|
||||
| **GSD: Run Bash Command** | Execute a shell command via the agent |
|
||||
| **GSD: List Available Commands** | Browse and run GSD slash commands |
|
||||
|
||||
### Keyboard Shortcuts
|
||||
|
||||
| Shortcut | Command |
|
||||
|----------|---------|
|
||||
| `Ctrl+Shift+G Ctrl+Shift+N` | New Session |
|
||||
| `Ctrl+Shift+G Ctrl+Shift+M` | Cycle Model |
|
||||
| `Ctrl+Shift+G Ctrl+Shift+T` | Cycle Thinking Level |
|
||||
|
||||
## Configuration
|
||||
|
||||
| Setting | Default | Description |
|
||||
|---------|---------|-------------|
|
||||
| `gsd.binaryPath` | `"gsd"` | Path to the GSD binary if not on PATH |
|
||||
| `gsd.autoStart` | `false` | Start the agent automatically when the extension activates |
|
||||
| `gsd.autoCompaction` | `true` | Enable automatic context compaction |
|
||||
|
||||
## Quick Start
|
||||
|
||||
1. Install GSD: `npm install -g gsd-pi`
|
||||
2. Install this extension
|
||||
3. Open a project folder in VS Code
|
||||
4. `Ctrl+Shift+P` → **GSD: Start Agent**
|
||||
5. Use `@gsd` in Chat or the sidebar to interact with the agent
|
||||
|
||||
## How It Works
|
||||
|
||||
The extension spawns `gsd --mode rpc` in the background and communicates over JSON-RPC via stdin/stdout. All 25 RPC commands are supported, including streaming events for real-time sidebar updates.
|
||||
|
||||
## Links
|
||||
|
||||
- [GSD Documentation](https://github.com/gsd-build/gsd-2/tree/main/docs)
|
||||
- [Getting Started](https://github.com/gsd-build/gsd-2/blob/main/docs/getting-started.md)
|
||||
- [Issue Tracker](https://github.com/gsd-build/gsd-2/issues)
|
||||
3960
vscode-extension/package-lock.json
generated
3960
vscode-extension/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -1,10 +1,33 @@
|
|||
{
|
||||
"name": "gsd-vscode",
|
||||
"displayName": "GSD - Get Shit Done",
|
||||
"description": "VS Code integration for the GSD coding agent",
|
||||
"description": "VS Code integration for the GSD coding agent — sidebar dashboard, @gsd chat participant, and 15 commands",
|
||||
"publisher": "gsd-build",
|
||||
"version": "0.1.0",
|
||||
"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"
|
||||
},
|
||||
"engines": {
|
||||
"vscode": "^1.95.0"
|
||||
},
|
||||
|
|
@ -147,10 +170,12 @@
|
|||
"scripts": {
|
||||
"build": "tsc",
|
||||
"watch": "tsc --watch",
|
||||
"package": "vsce package"
|
||||
"package": "vsce package",
|
||||
"publish": "vsce publish"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/vscode": "^1.95.0",
|
||||
"@vscode/vsce": "^3.7.1",
|
||||
"typescript": "^5.7.0"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue