Awesome
<p align="center"> <img src="src/main/resources/META-INF/pluginIcon.svg" width="160px" height="160px" alt="logo" /> </p> <h1 align="center">AutoDev for Intellij</h1> <p align="center"> <a href="https://codecov.io/gh/unit-mesh/auto-dev" > <img src="https://codecov.io/gh/unit-mesh/auto-dev/graph/badge.svg?token=5RzcndjFPx"/> </a> <a href="https://github.com/unit-mesh/auto-dev/actions/workflows/build.yml"> <img src="https://github.com/unit-mesh/auto-dev/actions/workflows/build.yml/badge.svg" alt="Build" /> </a> <a href="https://github.com/unit-mesh/chocolate-factory"> <img src="https://img.shields.io/badge/powered_by-chocolate_factory-blue?logo=kotlin&logoColor=fff" alt="Powered By" /> </a> </p>π§βAutoDev: The AI-powered coding wizard with multilingual support π, auto code generation ποΈ, and a helpful bug-slaying assistant π! Customizable prompts π¨ and a magic Auto Dev/Testing/Document/Agent feature π§ͺ included! π
VSCode Version: https://github.com/unit-mesh/auto-dev-vscode
DevIns β AI Agent language for AutoDevelopment β which you can use follow syntax as bridges for Human-AI-IDE:
/write:src/main/java/cc/unitmesh/Controller.java#L1-L12
```java
public class Controller {
public void method() {
System.out.println("Hello, World!");
}
}
```
With built-in syntax highlighting and auto-completion, you can use DevIns as next-generation AI Agent language.
AutoDev Architecture
Here is the AutoDev architecture:
AutoDev Feature Overview
<p align="center"> <img src="docs/autodev-overview.svg" width="100%" height="100%" alt="Overview" /> </p>Features:
- Languages support: Java, Kotlin, JavaScript/TypeScript, Rust, Python, Golang, C/C++/OC, or others...
- Auto development mode
- AutoCRUD (Spring frameworkοΌ. With DevTi Protocol (like
devti://story/github/1102
) will auto generate Model-Controller-Service-Repository code. - AutoSQL (required Database plugin). Context-aware SQL generation.
- AutoPage (React). Context-aware Web Page generation.
- AutoArkUI (HarmonyOS). Auto generate HarmonyOS ArkUI code.
- AutoTesting. create unit test intention, auto run unit test and try to fix test.
- AutoDocument. Auto generate document.
- AutoCRUD (Spring frameworkοΌ. With DevTi Protocol (like
- Copilot mode
- AutoDev will help you find bug, explain code, trace exception, generate commits, and more.
- Pattern specific. Based on your code context like (Controller, Service
import
), AutoDev will suggest the best code to you. - Related code. Based on recent file changes, AutoDev will call calculate similar chunk to generate the best code.
- Chat with AI. Chat with selection code and context-aware code.
- Customize.
- Custom specification of prompt. For example, Controller, Service, Repository, Model, etc.
- Custom intention action. You can add your own intention action.
- Custom LLM Server. You can customize your LLM Server in
Settings
->Tools
->AutoDev
- Custom Living documentation. Customize your own living documentation, like annotation.
- Team AI. Customize your team prompts in codebase, and distribute to your team.
- Prompt override. You can override AutoDev's prompt in your codebase.
- SDLC
- VCS. Generate/improve commit message, release note, and more.
- Code Review. Generate code-review content.
- Smart Refactoring. AI based Rename, refactoring with code smell, refactoring suggetion and more.
- Dockerfile. Based on your project, generate Dockerfile.
- CI/CD config. Based on build tool, generate CI/CD config file, like
.github/workflows/build.yml
. - Terminal. In Terminal ToolWindow, you can use custom input to generate shell/command
- Custom AI Agent
- Executable AI Agent language: DevIns.
- Custom AI Agent. You can integrate your own AI Agent into AutoDev.
- Model
AutoDev fine-tune models:
download from HuggingFace
name | model download (HuggingFace) | model download (OpenBayes) |
---|---|---|
DeepSeek 6.7B | AutoDev Coder | AutoDev Coder](https://openbayes.com/console/phodal/models/rCmer1KQSgp/9/overview) |
Language Features
Language Support
We follow Chapi AST analysis engine for language support tier.
Features | Java | Python | Go | Kotlin | JS/TS | C/C++ | C# | Scala | Rust | ArkTS |
---|---|---|---|---|---|---|---|---|---|---|
Chat Language Context | β | β | β | β | β | β | β | β | ||
Structure AST | β | β | β | β | β | |||||
Doc Generation | β | β | β | β | β | β | β | |||
Precision Test Generation | β | β | β | β | β | β | ||||
Precision Code Generation | β | β | ||||||||
AutoCRUD | β | β |
Extensions
see in exts
Demo
DevIns Language demo (Bilibili) - δΈζ
Video demo (YouTube) β English
Video demo (Bilibili) - δΈζ
Useful Links
- Copilot-Explorer Hacky repo to see what the Copilot extension sends to the server.
- GitHub Copilot a small part of Copilot Performance logs.
- θ±δΊε€§εδΈͺζοΌζη»δΊιεεζδΊGithub Copilot
Who is using AutoDev?
Welcome to add your company here.
- Thoughtworks, a leading technology consultancy.
License
Regarding the matter discussed in the LICENSE issue at the project's outset, we want to address the complexity of JetBrain plugin development. In the process, we referenced certain code and API designs from the JetBrains Community version and the JetBrains AI Assistant plugin. JetBrains understandably reserves the right to view this as potential infringement on their intellectual property.
Therefore, as of April 2024, AutoDev is no longer available on the JetBrains Plugin Marketplace. However, for older versions' AutoDev, you can access downloads from our Releases page.
Additionally, we extend a warm invitation to participate in the development of the VSCode version. Your contributions are greatly appreciated.
- ChatUI based on: https://github.com/Cspeisman/chatgpt-intellij-plugin
- Multiple target inspired by: https://github.com/intellij-rust/intellij-rust
- SimilarFile inspired by: JetBrains and GitHub Copilot
- DevIn Language refs on JetBrains' Markdown Util, which is licensed under the Apache 2.0 license.
Known License issues: JetBrain plugin development is no walk in the park! Oops, we cheekily borrowed some code from the JetBrains Community version and the super cool JetBrains AI Assistant plugin in our codebase. But fret not, we are working our magic to clean it up diligently! π§ββοΈβ¨.
Those codes will be removed in the future, you
can check it in src/main/kotlin/com/intellij/temporary
, if you want to use this plugin in your company,
please remove those codes to avoid any legal issues.
This code is distributed under the MPL 2.0 license. See LICENSE
in this directory.