- Implement feature parity between Python and TypeScript MCP versions - Add comprehensive test coverage for all orthogonal tools - Consolidate tools to follow single-tool-multiple-actions pattern - Add bash, git-search, critic, and mode tools - Create multi-platform build system for VS Code, Claude Desktop, and DXT - Add test files for filesystem, search, shell, process, web-fetch, mode, and git-search tools - Fix TypeScript compilation issues and update build scripts - Update package.json with hanzo-ai publisher ID - Successfully build all distribution formats: - VS Code Extension (.vsix) - Claude Desktop MCP package - Claude Code DXT file - Standalone MCP server
2.6 KiB
2.6 KiB
Platform Compatibility Guide
VS Code vs Cursor vs Windsurf
Short Answer: NO, we don't need different builds! 🎉
The same .vsix extension package works across all three platforms because:
- Cursor is a fork of VS Code that maintains 100% API compatibility
- Windsurf is also VS Code-based with full extension compatibility
- All three use the same extension manifest format and APIs
Single Build, Multiple Platforms
# Build once
npm run package
# Install the same .vsix file in any editor:
# - VS Code: Extensions > Install from VSIX
# - Cursor: Extensions > Install from VSIX
# - Windsurf: Extensions > Install from VSIX
Platform Detection (if needed)
While not necessary, you can detect which editor is running:
// In extension code
const appName = vscode.env.appName;
// Returns: "Visual Studio Code" | "Cursor" | "Windsurf"
const appHost = vscode.env.appHost;
// Returns: "desktop" | "web" | "codespaces"
Claude Desktop Integration
Claude Desktop requires a separate MCP server build, but this is already handled:
# VS Code/Cursor/Windsurf extension
npm run package # Creates hanzoai-1.5.4.vsix
# Claude Desktop MCP server
npm run build:mcp # Creates out/mcp-server-standalone.js
Installation Summary
| Platform | Installation Method | File |
|---|---|---|
| VS Code | Install from VSIX | hanzoai-1.5.4.vsix |
| Cursor | Install from VSIX | hanzoai-1.5.4.vsix |
| Windsurf | Install from VSIX | hanzoai-1.5.4.vsix |
| Claude Desktop | MCP Config | out/mcp-server-standalone.js |
Benefits of Unified Build
- Maintenance: Single codebase to maintain
- Testing: Test once, run everywhere
- Distribution: One package for all VS Code-based editors
- Updates: Users get same features regardless of editor
Edge Cases
The only platform-specific considerations are:
- Keybindings: Some editors may have different default keybindings
- Theme: UI might look slightly different based on editor theme
- Settings: Editor-specific settings namespace (but our extension uses
hanzo.*)
Verification
To verify compatibility:
# 1. Build extension
npm run package
# 2. Test in each editor
code --install-extension hanzoai-1.5.4.vsix
cursor --install-extension hanzoai-1.5.4.vsix
windsurf --install-extension hanzoai-1.5.4.vsix
# 3. All should work identically!
Conclusion
Our unified build approach is the recommended best practice. The VS Code extension API was designed for this compatibility, and forks like Cursor and Windsurf maintain this compatibility intentionally.