Convert Figma logo to code with AI

unit-mesh logoauto-dev

πŸ§™β€AutoDev: The AI-powered coding wizard(AI ι©±εŠ¨ηΌ–η¨‹εŠ©ζ‰‹οΌ‰with multilingual support 🌐, auto code generation πŸ—οΈ, and a helpful bug-slaying assistant 🐞! Customizable prompts 🎨 and a magic Auto Dev/Testing/Document/Agent feature πŸ§ͺ included! πŸš€

2,776
317
2,776
6

Top Related Projects

Examples and guides for using the OpenAI API

Integrate cutting-edge LLM technology quickly and easily into your apps

93,540

πŸ¦œπŸ”— Build context-aware reasoning applications

18,893

A guidance language for controlling large language models.

166,386

AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.

44,314

🌟 The Multi-Agent Framework: First AI Software Company, Towards Natural Language Programming

Quick Overview

Auto-dev is an AI-powered coding assistant and team intelligence platform. It aims to enhance developer productivity by integrating AI capabilities into the software development lifecycle, offering features like code generation, refactoring, and team collaboration tools.

Pros

  • Seamless integration with popular IDEs and development tools
  • Utilizes advanced AI models for code generation and analysis
  • Supports multiple programming languages and frameworks
  • Offers team collaboration features for improved productivity

Cons

  • May require a learning curve for developers to fully utilize its capabilities
  • Potential privacy concerns when sharing code with AI models
  • Dependency on external AI services could impact reliability
  • May not be suitable for all types of projects or development workflows

Code Examples

// Generate a Java class using Auto-dev
@AutoDev.generate("Create a simple User class with name and email fields")
public class User {
    private String name;
    private String email;

    // Constructor, getters, and setters will be generated
}
# Refactor Python code using Auto-dev
@AutoDev.refactor("Optimize this function for better performance")
def fibonacci(n):
    if n <= 1:
        return n
    else:
        return fibonacci(n-1) + fibonacci(n-2)
// Get code suggestions in JavaScript
const suggestedCode = AutoDev.suggest("Implement a debounce function");
console.log(suggestedCode);

Getting Started

To start using Auto-dev in your project:

  1. Install the Auto-dev extension for your IDE (e.g., VS Code, IntelliJ)
  2. Sign up for an Auto-dev account and obtain an API key
  3. Configure the extension with your API key
  4. Start using Auto-dev features in your code:
import com.unitmesh.autodev.AutoDev;

public class Example {
    public static void main(String[] args) {
        AutoDev.initialize("YOUR_API_KEY");
        String generatedCode = AutoDev.generate("Create a REST API endpoint for user registration");
        System.out.println(generatedCode);
    }
}

Competitor Comparisons

Examples and guides for using the OpenAI API

Pros of openai-cookbook

  • Comprehensive collection of OpenAI API usage examples and best practices
  • Well-organized and regularly updated with new features and techniques
  • Extensive documentation and explanations for each example

Cons of openai-cookbook

  • Focused solely on OpenAI's offerings, limiting its scope compared to auto-dev
  • Less emphasis on automated development workflows and AI-assisted coding
  • May require more manual integration into existing development processes

Code Comparison

openai-cookbook:

import openai

response = openai.Completion.create(
  engine="text-davinci-002",
  prompt="Translate the following English text to French: '{}'",
  max_tokens=60
)

auto-dev:

from autodev import AutoDev

auto_dev = AutoDev()
translated_text = auto_dev.translate("Hello, world!", source_lang="en", target_lang="fr")

The openai-cookbook example demonstrates direct API usage, while auto-dev provides a higher-level abstraction for AI-assisted development tasks.

Integrate cutting-edge LLM technology quickly and easily into your apps

Pros of Semantic Kernel

  • More mature and widely adopted project with extensive documentation
  • Supports multiple programming languages (C#, Python, Java)
  • Backed by Microsoft, ensuring long-term support and development

Cons of Semantic Kernel

  • Steeper learning curve due to its more complex architecture
  • Primarily focused on integrating AI capabilities into existing applications
  • Less emphasis on autonomous development and code generation

Code Comparison

Semantic Kernel (C#):

var kernel = Kernel.Builder.Build();
var function = kernel.CreateSemanticFunction("Generate a haiku about {{$input}}");
var result = await function.InvokeAsync("artificial intelligence");

Auto-Dev (Java):

AutoDevEngine engine = new AutoDevEngine();
String prompt = "Generate a haiku about artificial intelligence";
String result = engine.generateCode(prompt);

Key Differences

  • Auto-Dev focuses on autonomous development and code generation, while Semantic Kernel provides a framework for integrating AI capabilities into applications
  • Semantic Kernel offers more flexibility in terms of supported programming languages and integration options
  • Auto-Dev appears to have a simpler API, potentially making it easier to get started for specific code generation tasks
93,540

πŸ¦œπŸ”— Build context-aware reasoning applications

Pros of LangChain

  • More mature and widely adopted project with a larger community
  • Extensive documentation and examples for various use cases
  • Supports multiple programming languages (Python, JavaScript)

Cons of LangChain

  • Can be complex for beginners due to its extensive features
  • May have more overhead for simple projects
  • Requires more setup and configuration for basic tasks

Code Comparison

LangChain:

from langchain import OpenAI, LLMChain, PromptTemplate

llm = OpenAI(temperature=0.9)
prompt = PromptTemplate(input_variables=["product"], template="What is a good name for a company that makes {product}?")
chain = LLMChain(llm=llm, prompt=prompt)

print(chain.run("colorful socks"))

Auto-dev:

from auto_dev import AutoDev

auto_dev = AutoDev()
result = auto_dev.generate_code("Create a function to calculate the factorial of a number")
print(result)

The code examples show that LangChain focuses on creating chains of language models and prompts, while Auto-dev appears to be more oriented towards code generation tasks. LangChain's example demonstrates its flexibility in creating custom prompts and chains, whereas Auto-dev's example showcases its simplicity for code generation tasks.

18,893

A guidance language for controlling large language models.

Pros of guidance

  • More focused on providing a structured approach to prompt engineering and LLM interactions
  • Offers a declarative API for defining complex language tasks
  • Supports multiple LLM backends, including OpenAI, Anthropic, and Hugging Face

Cons of guidance

  • Less emphasis on full-stack development automation
  • May require more manual configuration for specific development tasks
  • Limited integration with existing development workflows and tools

Code Comparison

guidance:

with guidance.models.OpenAI('text-davinci-002') as model:
    prompt = guidance('''
    Human: Write a function to calculate the factorial of a number.
    AI: Here's a Python function to calculate the factorial of a number:

    {{gen 'code' stop='Human:'}}
    ''')
    executed = prompt()
    print(executed['code'])

auto-dev:

@AutoDev(type = AutoDevType.CODE_REVIEW)
public class CodeReviewExample {
    public void reviewCode(String code) {
        // Auto-dev will automatically review the code
    }
}
166,386

AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.

Pros of AutoGPT

  • More extensive and feature-rich, with a broader range of capabilities
  • Larger community and more active development
  • Supports multiple AI models and has a web interface

Cons of AutoGPT

  • More complex setup and configuration process
  • Higher resource requirements and potentially slower execution
  • Less focused on specific development tasks compared to auto-dev

Code Comparison

AutoGPT:

def get_command(
    response: str,
    prompt: str,
    command_name: str = "COMMAND",
    arguments_name: str = "ARGUMENTS",
):
    command_regex = f"{command_name}:\s*(.+)"
    arguments_regex = f"{arguments_name}:\s*(.+)"
    command_match = re.search(command_regex, response, re.DOTALL)
    arguments_match = re.search(arguments_regex, response, re.DOTALL)
    command = command_match.group(1).strip() if command_match else ""
    arguments = arguments_match.group(1).strip() if arguments_match else ""

auto-dev:

fun generateCode(prompt: String): String {
    val response = openAI.chatCompletion {
        model = ModelId("gpt-3.5-turbo")
        message { role = ChatRole.User; content = prompt }
    }
    return response.choices.first().message?.content ?: ""
}
44,314

🌟 The Multi-Agent Framework: First AI Software Company, Towards Natural Language Programming

Pros of MetaGPT

  • More comprehensive project management features, including task breakdown and role assignments
  • Stronger focus on software engineering principles and best practices
  • Better suited for larger, more complex projects with multiple components

Cons of MetaGPT

  • Steeper learning curve due to its more complex architecture
  • May be overkill for smaller, simpler projects
  • Less flexibility in terms of customization and integration with existing workflows

Code Comparison

MetaGPT:

from metagpt.roles import ProjectManager, Architect, Engineer
from metagpt.team import Team

team = Team()
team.hire([ProjectManager(), Architect(), Engineer()])
team.run("Create a web application for task management")

auto-dev:

import com.unitmesh.autodev.AutoDev;

AutoDev autoDev = new AutoDev();
autoDev.generateProject("Task Management Web App");

While MetaGPT offers a more structured approach with defined roles and team management, auto-dev provides a simpler, more straightforward interface for project generation. MetaGPT's code reflects its focus on team collaboration and software engineering practices, while auto-dev's code emphasizes ease of use and quick project setup.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

logo

AutoDev for Intellij

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

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

namemodel download (HuggingFace)model download (OpenBayes)
DeepSeek 6.7BAutoDev CoderAutoDev Coder](https://openbayes.com/console/phodal/models/rCmer1KQSgp/9/overview)

Language Features

Language Support

We follow Chapi AST analysis engine for language support tier.

FeaturesJavaPythonGoKotlinJS/TSC/C++C#ScalaRustArkTS
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

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.

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.