Skip to content

feat: create mpp-vscode extension based on Kotlin Multiplatform #31

@phodal

Description

@phodal

Overview

Create a new VSCode extension (mpp-vscode) that leverages Kotlin Multiplatform (KMP) technology, reusing the core capabilities from mpp-core.

Architecture

The extension will follow a lightweight architecture inspired by:

  • autodev-vscode - Full-featured AutoDev VSCode implementation
  • gemini-cli/vscode-ide-companion - Minimal MCP bridge pattern
  • mpp-ui - Existing CLI tool showing mpp-core integration

TODO List

Phase 1: Project Infrastructure ✅

  • Create project directory structure
  • Create package.json (VSCode extension config)
  • Create tsconfig.json
  • Configure esbuild bundling

Phase 2: Core Services

  • Implement mpp-core bridge (src/bridge/mpp-core.ts)
    • Import @autodev/mpp-core
    • Wrap JsKoogLLMService
    • Wrap JsCodingAgent
    • Wrap JsToolRegistry
    • Wrap JsCompletionManager
  • Implement extension.ts entry point

Phase 3: IDE Integration

  • Implement IDE Server (MCP protocol)
    • Express HTTP server
    • MCP tool registration (openDiff, closeDiff)
    • Session management
  • Implement Diff Manager
    • showDiff(), acceptDiff(), cancelDiff()
    • Diff Content Provider

Phase 4: Chat Interface

  • Implement Chat Webview Provider
  • Create Webview UI (React)

Phase 5: Commands and Features

  • Register VSCode commands
  • Keybinding configuration
  • Status bar integration

Phase 6: Advanced Features

  • DevIns language support
  • Code indexing integration
  • Domain dictionary support

Tech Stack

  • TypeScript - Primary language
  • mpp-core (Kotlin/JS) - Core LLM and Agent capabilities
  • React - Webview UI
  • Express - MCP server
  • esbuild - Bundler

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions