Skip to main content

AI-powered multi-agent development platform for autonomous code generation

Project description

๐Ÿค– AutoCoder - Autonomous AI Coding Agent System

CI/CD Pipeline Python 3.10+ License: MIT

A powerful multi-agent AI system that autonomously generates complete software projects using state-of-the-art LLMs and intelligent agent orchestration.

โœจ Latest Updates (August 2025)

๐Ÿš€ API-Only Architecture

  • Unified execution through centralized API server
  • Automatic port detection and conflict resolution
  • Embedded server management with zero configuration

๐Ÿ”‘ Simplified Configuration

  • No environment variables required! All API keys load from config.yaml
  • Support for OpenAI, Anthropic, and Google Gemini
  • Automatic provider detection and fallback

๐Ÿงช Comprehensive Testing

  • Full CLI test coverage with mocked components
  • Integration tests for all major features
  • CI/CD pipeline with multi-version Python support

๐ŸŽฏ Key Features

  • Multi-Agent System: Specialized agents for planning, development, testing, UI/UX, database, and DevOps
  • LangGraph Orchestration: Intelligent workflow management with state persistence
  • Auto Port Detection: Automatically finds available ports for API server
  • Web Interface: Beautiful FastAPI-powered web UI for project management
  • CLI Interface: Powerful command-line tools for developers
  • MCP Support: Model Context Protocol integration for enhanced capabilities
  • OpenAI Gateway: Compatible with OpenAI API for seamless integration

๐Ÿš€ Quick Start

Installation

# Clone the repository
git clone https://github.com/eladrave/AutoCoder.git
cd AutoCoder

# Install dependencies
pip install -e .

Configuration

  1. Copy the example config:
cp config.yaml.example config.yaml
  1. Add your API keys to config.yaml:
api_keys:
  openai_api_key: "sk-your-key-here"
  anthropic_api_key: "sk-ant-your-key-here"
  google_api_key: "AIza-your-key-here"

No environment variables needed! The system loads everything from the config file.

Usage

Simple CLI Usage

# Create a simple application
./agent.sh "Create a todo list web app with React"

# Dry run mode (no files created)
./agent.sh "Build a REST API" --dry-run

# Verbose mode with logging
./agent.sh "Create a Python package" --verbose --save-logs

Advanced CLI Options

# Use specific port for API server
python main_api.py "Create app" --port 8080

# Use external API server
python main_api.py "Create app" --api-url http://remote-server:5001

# Keep server running for multiple tasks
python main_api.py "Create app" --keep-server

Web Interface

# Start the web interface
python web_interface/app.py

# Open browser to http://localhost:5001

๐Ÿ“š Documentation

๐Ÿงช Testing

Run the comprehensive test suite:

# Run all tests
pytest tests/

# Run specific test categories
pytest tests/test_cli_api.py -v  # CLI tests
pytest tests/test_web_interface.py -v  # Web interface tests
pytest tests/test_agents.py -v  # Agent tests

# Run with coverage
pytest tests/ --cov=. --cov-report=html

๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚            Web Interface                 โ”‚
โ”‚         (FastAPI + React)                โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                 โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚            API Server                    โ”‚
โ”‚     (Automatic Port Detection)           โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                 โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚      Workflow Orchestrator               โ”‚
โ”‚         (LangGraph)                      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                 โ”‚
     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
     โ”‚                       โ”‚
โ”Œโ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Agents   โ”‚       โ”‚    Services     โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค       โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ โ€ข Planner โ”‚       โ”‚ โ€ข File Handler โ”‚
โ”‚ โ€ข Developerโ”‚      โ”‚ โ€ข Memory Store โ”‚
โ”‚ โ€ข Tester  โ”‚       โ”‚ โ€ข Config Loaderโ”‚
โ”‚ โ€ข UI/UX   โ”‚       โ”‚ โ€ข Port Finder  โ”‚
โ”‚ โ€ข Databaseโ”‚       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”‚ โ€ข DevOps  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guide for details.

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • Built with LangChain and LangGraph
  • Powered by OpenAI, Anthropic, and Google AI models
  • FastAPI for the robust web framework
  • The amazing open-source community

๐Ÿ“ž Support


Built with โค๏ธ by the AutoCoder Team

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autocoder_ai-2.0.12.tar.gz (215.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autocoder_ai-2.0.12-py3-none-any.whl (196.7 kB view details)

Uploaded Python 3

File details

Details for the file autocoder_ai-2.0.12.tar.gz.

File metadata

  • Download URL: autocoder_ai-2.0.12.tar.gz
  • Upload date:
  • Size: 215.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for autocoder_ai-2.0.12.tar.gz
Algorithm Hash digest
SHA256 82e278a1aea50fb1071a59370c65268ee6643c8f4c70c62bf64c73e99f7e230c
MD5 ff4622ec28dc2d1ffe312c9ed6eb9d4f
BLAKE2b-256 a94447cd757399a201084af5f0667d4a727bbd317abcded19ef71a43d402637e

See more details on using hashes here.

File details

Details for the file autocoder_ai-2.0.12-py3-none-any.whl.

File metadata

  • Download URL: autocoder_ai-2.0.12-py3-none-any.whl
  • Upload date:
  • Size: 196.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for autocoder_ai-2.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 e0e273ae609e19a6d459f50910147f80f8fb60a751e048e7d0cdb0a2268966fc
MD5 1f09c4240b79e464fe5bdb92212c3645
BLAKE2b-256 972ba745c53592a8e1f62b12beb5c98423da3e96fecb4d12dda6b486aed7c192

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page