generated from JetBrains/intellij-platform-plugin-template
-
Notifications
You must be signed in to change notification settings - Fork 463
Open
Description
Feature: Refactoring to Multiplatform Project (MPP)
Description
Refactor the AutoDev project to support Kotlin Multiplatform (MPP) architecture, enabling code sharing across JVM, JavaScript, and WebAssembly platforms. This major refactoring introduces a new mpp-core module that contains platform-independent core functionality.
Motivation
The current architecture is tightly coupled with JVM and IntelliJ Platform APIs, making it difficult to:
- Share core logic across different platforms (JVM, JS, WASM)
- Test business logic independently from IDE-specific code
- Support web-based or standalone tools using the same DevIn language parser
- Enable cross-platform agent tools and compilation
By moving to a multiplatform architecture, we can:
- Improve code reusability and maintainability
- Enable platform-independent testing
- Support future web-based interfaces
- Reduce external dependencies
Future Work
- Migrate more core functionality to mpp-core
- Expand agent tool ecosystem for different platforms
- Koog integration
- Http Request with Ktor (https://github.com/JetBrains/koog/blob/develop/koog-ktor/build.gradle.kts)
- Create standalone CLI tools using native compilation
- TUI with https://github.com/JakeWharton/mosaic or https://github.com/vadimdemedes/ink
- GUI with Swing + FlatLaf + Monaco Editor
- Implement web-based DevIn editor using JS target
- Normal code editor without highlight (https://github.com/MohamedRejeb/Compose-Rich-Editor)
- Add more platform-specific optimizations
FEATURES
Input
优化 AI Output 的过程
- AI output 的时候,应该要自动滚动
- 改进 DevInEditorInput 的交互,在 AI 开始返回结果后,应该把 DevInEditorInput 变成一行输入的高度,然后移到页面的最下方
- debug 改成一个小的 icon 在页面的右上角(Debug 可以使用 DevInEditorDemo 在弹窗里查看
Tool Refactoring
- InsCommand refs to Gemini or Codex ? (/Users/phodal/test/gemini-cli/packages/core/src/tools)
- 优先级:grep, shell, glob, write-file, read file, with https://github.com/Kotlin/kotlinx-io
- edit,
- memory, smart-edit, memory ,modfiable
Sketch Render View
- Diff Changes
- Mermaid
- ...
Log & Metric
- Logging: https://github.com/oshai/kotlin-logging (io.github.oshai:kotlin-logging),参考 https://github.com/JetBrains/koog/blob/9d6e757c7ed6989253ddb1fea19470344ac11a3d/gradle/libs.versions.toml#L82
- https://kermit.touchlab.co/docs/
- https://github.com/touchlab/Kermit
CodeHighlight for Compose
成本控制
- 借助低成本模型进行必要的上下文压缩
Ai AGENT
- CodebaseInvestigatorAgent
node