lpf-hub / auto-dev

AutoDev 是一款 Intellij IDEA 的 LLM/AI 辅助编程插件。AutoDev 能够与您的需求管理系统(例如 Jira、Trello、Github Issue 等)直接对接。在 IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。您所需做的,仅仅是对生成的代码进行质量检查。

Home Page:https://ide.unitmesh.cc/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AutoDev

Build Version Downloads

AutoDev 是一款高度自动化的 AI 辅助编程工具。AutoDev 能够与您的需求管理系统(例如 Jira、Trello、Github Issue 等)直接对接。在 IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。您所需做的,仅仅是对生成的代码进行质量检查。

features:

  • languages support: Java, Kotlin (maybe ?)
  • Auto development mode. With DevTi Protocol (like devti://story/github/1102) will auto generate Controller-Service-Model code.
  • Smart code completion. Based on your code context like (Controller, Service import), AutoDev will suggest you the best code.
  • AI assistant. AutoDev will help you find bug, explain code, trace exception, and more.
  • Custom prompt. You can customize your prompt in Settings -> Tools -> DevTi
  • Custom LLM Server. You can customize your LLM Server in Settings -> Tools -> DevTi
  • Smart architecture. With ArchGuard Co-mate DSL, AutoDev will help you design your architecture.

Usage

  1. Install
    • method 1. Install from JetBrains Plugin Repository: AutoDev
    • method 2. Download plugin from release page: release and install plugin in your IDE
  2. configure GitHub Token (optional) and OpenAI config in Settings -> Tools -> DevTi

Token Configure

CodeCompletion mode

Right click on the code editor, select AutoDev -> CodeCompletion -> CodeComplete

Code completion

Copilot mode

  1. click as you want:

Copilot Mode

Custom prompt

{
  "auto_complete": {
    "instruction": "",
    "input": ""
  },
  "auto_comment": {
    "instruction": "",
    "input": ""
  },
  "code_review": {
    "instruction": "",
    "input": ""
  },
  "refactor": {
    "instruction": "",
    "input": ""
  },
  "write_test": {
    "instruction": "",
    "input": ""
  },
  "spec": {
    "controller": "- 在 Controller 中使用 BeanUtils.copyProperties 进行 DTO 转换 Entity\n- 禁止使用 Autowired\n-使用 Swagger Annotation 表明 API 含义\n-Controller 方法应该捕获并处理业务异常,不应该抛出系统异常。",
    "service": "- Service 层应该使用构造函数注入或者 setter 注入,不要使用 @Autowired 注解注入。",
    "entity": "- Entity 类应该使用 JPA 注解进行数据库映射\n- 实体类名应该与对应的数据库表名相同。实体类应该使用注解标记主键和表名,例如:@Id、@GeneratedValue、@Table 等。",
    "repository": "- Repository 接口应该继承 JpaRepository 接口,以获得基本的 CRUD 操作",
    "ddl": "-  字段应该使用 NOT NULL 约束,确保数据的完整性"
  }
}

AutoCRUD mode

  1. add // devti://story/github/1 comments in your code.
  2. configure GitHub repository for Run Configuration.
  3. click AutoDev button in the comments' left.

Run Screenshots:

AutoDev

Output Screenshots:

AutoDev

Development

  1. git clone https://github.com/unit-mesh/AutoDev.git
  2. open in IntelliJ IDEA
  3. ./gradlew runIde

Key Concepts:

TODO for prompt Strategy

JetBrains LLM

defaultPriorities.json = [
  "BeforeCursor",
  "SimilarFile",
  "ImportedFile",
  "PathMarker",
  "LanguageMarker"
]

Release

  1. change pluginVersion in gradle.properties
  2. git tag version
  3. ./gradlew publishPlugin

License

ChatUI based on: https://github.com/Cspeisman/chatgpt-intellij-plugin

@Thoughtworks AIEE Team. This code is distributed under the MPL 2.0 license. See LICENSE in this directory.

About

AutoDev 是一款 Intellij IDEA 的 LLM/AI 辅助编程插件。AutoDev 能够与您的需求管理系统(例如 Jira、Trello、Github Issue 等)直接对接。在 IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。您所需做的,仅仅是对生成的代码进行质量检查。

https://ide.unitmesh.cc/

License:Mozilla Public License 2.0


Languages

Language:Kotlin 98.9%Language:HTML 1.0%Language:Java 0.1%