VS Code Extension
The Stemix IDP VS Code extension provides IDE integration for the Intent-Driven Portal, bringing IDP capabilities directly into VS Code.
Status
This is a skeleton implementation (v0.1.0) that establishes the foundation for future VS Code integration. The extension is fully integrated into the IDP monorepo build system and CI workflows.
Current Features
Hello IDP Command
A simple command that demonstrates the extension is working correctly.
Usage:
- Open the Command Palette (
Ctrl+Shift+PorCmd+Shift+P) - Type "Hello IDP"
- Select the command
- You'll see an information message confirming the extension is active
Local Development
Prerequisites
- Node.js 20+ (managed via proto)
- VS Code 1.80.0 or later
Installation
Install dependencies:
cd tools/vscode-extension
pnpm install
Or using moon:
moon run vscode-extension:install
Building
Build the extension:
cd tools/vscode-extension
pnpm run build
Or using moon:
moon run vscode-extension:build
Or using make:
cd tools/vscode-extension
make build
Testing Locally
Option 1: VS Code Extension Development Host
- Open the
tools/vscode-extension/directory in VS Code - Press
F5or select "Run > Start Debugging" - A new VS Code window opens (Extension Development Host) with the extension loaded
- In the Extension Development Host, open the Command Palette
- Type "Hello IDP" and select the command
- Verify the information message appears
Option 2: Install as VSIX
-
Package the extension:
pnpm run package -
Install the generated
.vsixfile:- Open VS Code
- Go to Extensions view
- Click the
...menu (top-right) - Select "Install from VSIX..."
- Choose
stemix-idp-vscode-0.1.0.vsix
-
Reload VS Code if prompted
-
Test the "Hello IDP" command
Uninstalling
If installed via VSIX:
- Go to Extensions view
- Find "Stemix IDP"
- Click "Uninstall"
Integration with IDP Monorepo
The extension is fully integrated into the IDP build system:
- Moon: Project ID
vscode-extensionwith tasks inmoon.yml - Make: Convenience targets in
Makefile - CI: Automatically validated when extension files change via path-based PR validation
Build Commands
pnpm installormake install- Install dependenciespnpm run buildormake build- Build TypeScriptpnpm run typecheckormake check-test- Run type checkingpnpm run watch- Watch mode for developmentpnpm run packageormake package- Package as VSIX
Moon Tasks
moon run vscode-extension:all- Full build and validationmoon run vscode-extension:install- Install dependenciesmoon run vscode-extension:build- Build extensionmoon run vscode-extension:check-ci- CI validation checksmoon run vscode-extension:package- Package as VSIX
Roadmap
This skeleton establishes the foundation for future capabilities:
- IDP server connection and status monitoring
- Intent submission from VS Code
- MCP tool integration for AI-assisted workflows
- Portal navigation and insights
- Authentication flow integration
- Workflow and task management
See ROADMAP.md Section 9 (Capability Exposure and Interaction Models) for the full vision of IDE integrations as part of the consistent capability model across all interaction channels.
Architecture
The extension follows VS Code extension best practices:
- TypeScript-based implementation
- Activates on command invocation
- Clean activation/deactivation lifecycle
- Follows repository conventions for moon/make integration
- Minimal dependencies (VS Code API + TypeScript)
Contributing
To add new functionality to the extension:
- Follow the repository's issue-driven workflow
- Update
src/extension.tswith new commands or features - Register commands in
package.jsonundercontributes.commands - Add corresponding activation events in
activationEvents - Update this documentation and the extension README
- Test locally using the Extension Development Host
- Ensure all build and validation checks pass
License
MIT