An AI agent that automatically detects, diagnoses, and fixes bugs in Python scripts.
Project description
🤖 AI Automated Code Repair Agent
AI Automated Code Repair Agent is a professional, autonomous CLI tool that executes Python scripts, detects crashes, and uses an AI-driven workflow to analyze, repair, and securely verify fixes before recommending them. It packages everything you need—from intelligent error parsing to isolated Docker-based verification—so you can point it at a script and get reliable, reproducible results.
PyPI Package: ai-code-repair-agent
✨ Core Features
- 🤖 Autonomous End-to-End Workflow: Run
agent <script.py>and let the tool handle execution, crash detection, analysis, patching, and reporting. - 🧠 AI-Powered Code Generation (Gemini): Sends rich error context to Google's Gemini LLM to propose logical, high-quality fixes—not just syntax band-aids.
- 🛡️ Secure Sandbox Verification: Builds an isolated Docker container on the fly, runs tests, and accepts only verified solutions.
- 🔮 Auto-Dependency & Environment Discovery: Inspects the target script to infer third‑party dependencies and auto‑generate
requirements.txtand aDockerfile. - 🎯 Environment-Aware Diagnostics: Distinguishes code bugs from environment issues (e.g., ModuleNotFoundError) and recommends precise
pip installcommands when appropriate. - 📦 Professional CLI Experience: Distributed via PyPI with a user-friendly
agent configurecommand for easy setup and a built-in Docker prerequisite check.
🧭 Decision Workflow
First-Time User Setup
graph TD
A[New User] --> B[pip install ai-code-repair-agent];
B --> C[agent configure];
C --> D[Enters API Key];
D --> E[✅ Agent is ready to use];
Main Repair Workflow
graph TD
A[User executes `agent <script_path>`] --> B{Docker Running?};
B -- No --> C[❌ End: Advise user to start Docker];
B -- Yes --> D[ProcessRunner executes script];
D --> E{Crash Detected?};
E -- No --> F[✅ End: Success];
E -- Yes --> G[ErrorParser analyzes traceback];
G --> H{Error Type?};
H -- ModuleNotFoundError --> I[👩🏫 Reporter advises `pip install` & exits];
H -- Other Error --> J[ContextManager retrieves faulty function];
J --> K[AICore sends context to Gemini LLM];
K --> L[Receives proposed code fix];
L --> M[🛡️ SandboxVerifier begins test];
M --> N{Test Passed?};
N -- Yes --> O[🎉 Reporter shows success & diff];
N -- No --> P[❌ Reporter shows failure];
style C fill:#e63946,stroke:#333,stroke-width:2px
style I fill:#f9f,stroke:#333,stroke-width:2px
🏗️ System Architecture
This project is modular for clarity, testability, and extensibility.
agent/cli.py— Orchestrator & CLI (argparse), handlesconfigurecommand, Docker prerequisite check, and full workflow.agent/process_runner.py— Executes target scripts (subprocess), captures stdout/stderr, determines crash state.agent/error_parser.py— Parses Python tracebacks into structured data via regex.agent/context_manager.py— Extracts faulty function context usingastfor high-signal AI prompts.agent/ai_core.py— Prompts and calls Google Gemini, securely loading API key from a.envin the user's home directory.agent/sandbox_verifier.py— Uses Docker SDK to build sandbox environments, apply patches, and verify.agent/reporter.py— Provides human-friendly output with colorama and clean diffs.
🛠️ Tech Stack
| Category | Technology |
|---|---|
| Core Language | Python 3.9+ |
| Execution | subprocess, tempfile, pathlib |
| Analysis | ast, inspect, re, traceback, difflib, stack-data |
| AI | Google Gemini via google-generativeai |
| Sandboxing | Docker & Docker SDK for Python; auto-generated Dockerfile and requirements.txt |
| CLI & UX | argparse, colorama, interactive agent configure command |
| Packaging | PyPI with pyproject.toml, versioned CLI entry point |
🚀 Getting Started
Prerequisites
- Python 3.9+
- Docker Desktop: Required for creating isolated sandboxes. Download Docker Desktop.
Installation & Configuration
pip install ai-code-repair-agent
agent configure
🧪 Usage
agent path/to/your/buggy_script.py
agent path/to/script_with_args.py --input data.csv --output results.json
🧩 Design Principles
- Safety First: AI-generated code is never trusted without sandbox verification.
- Minimal Friction: One-time setup, then zero-config runs.
- Clear Boundaries: Distinguishes environment issues from logic bugs.
- Modular & Extensible: Clean interfaces for easy customization and future enhancements.
- Reproducible: Dockerized tests ensure consistent behavior across environments.
🔍 Example Module Layout
ai_code_repair_agent/
└─ agent/
├─ __init__.py
├─ cli.py # CLI orchestrator, configure command, Docker check
├─ process_runner.py # Run target script, capture outputs
├─ error_parser.py # Parse tracebacks
├─ context_manager.py # Extract faulty function via AST
├─ ai_core.py # Prompt & call Gemini, load API key
├─ sandbox_verifier.py # Build Docker envs & verify
└─ reporter.py # Colorized results & diffs
🧱 Security & Privacy
- No source exfiltration: Only error-specific context is sent to the AI.
- Ephemeral sandboxes: Containers are temporary and removed post-execution.
- Secrets management: API keys securely stored in a
.envfile in your home directory.
📜 License
Distributed under the MIT License. See LICENSE for details.
👤 Author
Darshan S
- GitHub: @darshan0106
- LinkedIn: Darshan Sivakumar
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
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 ai_code_repair_agent-1.1.2.tar.gz.
File metadata
- Download URL: ai_code_repair_agent-1.1.2.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d2cfb1dc049d5ecd545da450882fd527d94ac9b19d620eff21060624b5ae548
|
|
| MD5 |
ea056aaabef87db9e0da3ee08adc4783
|
|
| BLAKE2b-256 |
e0adafd81df474a4e0f69ccb3aec95fdf0c992914e5af27d9627f11e23859a6d
|
File details
Details for the file ai_code_repair_agent-1.1.2-py3-none-any.whl.
File metadata
- Download URL: ai_code_repair_agent-1.1.2-py3-none-any.whl
- Upload date:
- Size: 14.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83e9c8c1e9c632d4dc995d32d882c6049f6156932cc7a610366e9e55028de9a9
|
|
| MD5 |
2597485cdc202c6f1728a773009b320b
|
|
| BLAKE2b-256 |
a6f0c08f454506b33bd3b285c4c3270d191cea0127fc9bf6e9fb65d41ab104a1
|