Skip to content

πŸ§™β€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! πŸš€

License

unit-mesh/auto-dev

Repository files navigation

logo

AutoDev

Build Powered By

πŸ§™β€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

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.

Quick Start β†’

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

Overview

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.
  • 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
    • Built-in LLM Fine-tune
    • UnitEval evaluate llm result
    • UnitGen generate code-llm fine-tune data.

AutoDev fine-tune models:

download from HuggingFace

name model download (HuggingFace) finetune Notebook model download (OpenBayes)
DeepSeek 6.7B AutoDev Coder finetune.ipynb AutoDev Coder

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) - δΈ­ζ–‡

Watch the video

Video demo (YouTube) β€” English

Watch the video

Video demo (Bilibili) - δΈ­ζ–‡

Watch the video

Useful Links

Who is using AutoDev?

Welcome to add your company here.

  • Thoughtworks, a leading technology consultancy.

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.

About

πŸ§™β€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! πŸš€

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages