Skip to main content

An AI agent that automatically detects, diagnoses, and fixes bugs in Python scripts.

Project description

🤖 AI Automated Code Repair Agent

AI Code Repair Agent Banner

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.txt and a Dockerfile.
  • 🎯 Environment-Aware Diagnostics: Distinguishes code bugs from environment issues (e.g., ModuleNotFoundError) and recommends precise pip install commands when appropriate.
  • 📦 Professional CLI Experience: Distributed via PyPI with a user-friendly agent configure command 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), handles configure command, 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 using ast for high-signal AI prompts.
  • agent/ai_core.py — Prompts and calls Google Gemini, securely loading API key from a .env in 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

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 .env file in your home directory.

📜 License

Distributed under the MIT License. See LICENSE for details.


👤 Author

Darshan S

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

ai_code_repair_agent-1.1.2.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

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

ai_code_repair_agent-1.1.2-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

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

Hashes for ai_code_repair_agent-1.1.2.tar.gz
Algorithm Hash digest
SHA256 7d2cfb1dc049d5ecd545da450882fd527d94ac9b19d620eff21060624b5ae548
MD5 ea056aaabef87db9e0da3ee08adc4783
BLAKE2b-256 e0adafd81df474a4e0f69ccb3aec95fdf0c992914e5af27d9627f11e23859a6d

See more details on using hashes here.

File details

Details for the file ai_code_repair_agent-1.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for ai_code_repair_agent-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 83e9c8c1e9c632d4dc995d32d882c6049f6156932cc7a610366e9e55028de9a9
MD5 2597485cdc202c6f1728a773009b320b
BLAKE2b-256 a6f0c08f454506b33bd3b285c4c3270d191cea0127fc9bf6e9fb65d41ab104a1

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