Autonomous Software Engineering Multi-Agent System using AI agents to analyze, implement, test, and review code
Project description
AutoEngineer-CLI ๐ค
Autonomous Software Engineering Multi-Agent System
A production-grade CLI tool that uses 5 specialized AI agents to autonomously analyze, implement, test, and review code from natural language descriptions.
โจ Features
- 5 Specialized AI Agents: Manager, Architect, Coder, QA, and Reviewer
- Autonomous Code Generation: Creates complete, working implementations from task descriptions
- Sandboxed Execution: Tests code safely in Podman containers
- Comprehensive Code Review: Security analysis, best practices, and performance recommendations
- Free-Tier LLM Support: Works with OpenRouter's free models (262k+ context)
๐ Installation
Recommended: Using pipx (Isolated Installation)
pipx install autoengineer-cli
Alternative: Using pip
pip install autoengineer-cli
Alternative: Using uv
uv tool install autoengineer-cli
โ๏ธ Setup
-
Get an OpenRouter API Key (Free):
- Visit OpenRouter.ai
- Create an account and get your API key
-
Set the Environment Variable:
# Linux/macOS export OPENROUTER_API_KEY="your-api-key-here" # Windows PowerShell $env:OPENROUTER_API_KEY="your-api-key-here" # Or create a .env file in your project echo "OPENROUTER_API_KEY=your-api-key-here" > .env
-
Install Podman (Optional, for sandboxed testing):
๐ Usage
Basic Usage
# Create a new project directory
mkdir my-project && cd my-project
# Run AutoEngineer with a task
autoengineer --repo . --task "Create a REST API with user authentication"
CLI Options
autoengineer --help
Options:
-r, --repo PATH Path to the repository to work on (required)
-t, --task TEXT Description of the task to complete (required)
-o, --output PATH Save the final report to a file
-v, --verbose Enable verbose output
--max-retries INT Maximum retry attempts (default: 3)
Examples
# Create a simple script
autoengineer -r ./my-project -t "Create a Python script that calculates Fibonacci numbers"
# Build an authentication system
autoengineer -r ./my-project -t "Add JWT-based authentication with login, register, and token refresh"
# Add a feature to existing code
autoengineer -r ./existing-project -t "Add logging to all API endpoints"
# Save the report to a file
autoengineer -r ./my-project -t "Create a CLI calculator" -o report.md
๐๏ธ Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ User: "Add authentication API" โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Manager Agent โ Parses requirements, creates task breakdown โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Architect Agent โ Analyzes codebase, creates execution plan โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Coder Agent โ Writes actual code files using file tools โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ QA Agent โ Tests code in Podman sandbox, reports issues โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Reviewer Agent โ Generates comprehensive code review report โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ง Tech Stack
| Component | Technology |
|---|---|
| AI Orchestration | CrewAI |
| LLM Gateway | LiteLLM + OpenRouter |
| Containerization | Podman |
| CLI Framework | Click |
| Language | Python 3.10+ |
๐ Generated Output
AutoEngineer creates:
- Source code files in your repository
- Configuration files (requirements.txt, etc.)
- Documentation (README, API docs)
- Final Report with code review and recommendations
๐ Security
- Path Traversal Prevention: File tools validate paths to prevent escaping repository
- Network Isolation: Podman containers run with
--network=none - Memory Limits: Containers limited to 512MB by default
- Execution Timeouts: 60-second limit on sandboxed code execution
๐ค Contributing
Contributions are welcome! Please read our Contributing Guide first.
๐ License
MIT License - see LICENSE for details.
๐ Acknowledgments
- CrewAI - Multi-agent orchestration framework
- OpenRouter - LLM API gateway
- LiteLLM - Universal LLM interface
- Podman - Rootless containerization
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file autoengineer_cli-0.1.0.tar.gz.
File metadata
- Download URL: autoengineer_cli-0.1.0.tar.gz
- Upload date:
- Size: 13.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba5405c6b5f59ea215bb764f7ad8468a71f930fc844893f99740e15dfb33354f
|
|
| MD5 |
9587ed81c582ae0b42d7aaf47ab0ffa1
|
|
| BLAKE2b-256 |
856f3e617307db1143d9c8c589769d1d6559171ba1c021abc170e85aa69a1eb1
|
File details
Details for the file autoengineer_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: autoengineer_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 17.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43649b816959403e2426283a04422e88cc23b6a1eaee6fb1548bd71172091edb
|
|
| MD5 |
ff31134ae62be40ed666f02d707d1240
|
|
| BLAKE2b-256 |
4ef22cab38ac8e450bed867e908fea030d9249663a5a86b65de64b9e53c1d89e
|