Metadata-Version: 2.4
Name: code-healer
Version: 1.0.4
Summary: Yapay zeka destekli otonom kod tamir ve gelistirme kutuphanesi
Author: Abdullah Topak
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: requests
Requires-Dist: ollama
Requires-Dist: flake8
Requires-Dist: pytest

# 🛡️ AutoFix: Yapay Zeka Destekli Otonom Kod Tamir ve Geliştirme Motoru

AutoFix, Python projelerindeki sözdizimi (Linter/Flake8) ve çalışma zamanı (Runtime/Pytest) hatalarını derinlemesine AST (Abstract Syntax Tree) analiziyle lokal veya bulut LLM'leri kullanarak otonom olarak iyileştiren ve koda yeni özellikler entegre edebilen bir Self-Healing & Feature Development kütüphanesidir.

---

## ✨ Özellikler

* **Derinlemesine Proje Sağlık Taraması:** Sadece hedef dosyayı değil, o dosyanın import ettiği tüm yerel bağımlılıkları (utils.py vb.) otomatik tarar.
* **AST Ameliyat Modu (Fonksiyon İzolasyonu):** Hatalı satırı tüm dosyayı bozmadan, AST ile sadece ilgili fonksiyon bloğunu cımbızla çekerek izole bir şekilde tamir eder.
* **Çift Modlu Çalışma Mimarisi:**
    * **Tamir Modu:** Kodda hata varsa otonom olarak ardışık iyileştirme (Iterative Healing) döngüsünü başlatır.
    * **Geliştirme Modu (Feature Mode):** Proje temizse, terminalden verilen --komut talimatına göre mevcut yapıyı bozmadan yeni özellikleri otonom olarak koda ekler.
* **Esnek Kimlik Doğrulama (.env Desteği):** Bulut motoru (Groq API) kullanırken isterseniz API anahtarınızı parametre olarak geçebilir, isterseniz de proje kökündeki bir .env dosyasından otomatik okunmasını sağlayabilirsiniz.
* **Hibrit Motor Desteği:** Groq API (Llama 3.3) ile bulut veya Ollama (Qwen 2.5 Coder) ile %100 yerel/offline çalışabilir.
* **Güvenli Yamalama (Safe Rollback):** Kodda ters giden bir şey olduğunda Git veya .bak yedeği üzerinden otonom olarak orijinal koda geri döner.

---

## 🚀 Kurulum

Proje kök dizinindeyken terminalden geliştirici modunda kurun:

pip install -e .

---

## 🔑 Kimlik Doğrulama Seçenekleri (.env Kullanımı)

Bulut motorunu (Groq) kullanabilmek için API anahtarınızı sisteme iki farklı seçenekle tanıtabilirsiniz:

### Seçenek A: .env Dosyası İle (Önerilen)
Projenizin kök dizinine bir .env dosyası oluşturup API anahtarınızı eklemeniz yeterlidir. AutoFix bu dosyayı otomatik olarak algılar ve okur:

GROQ_API_KEY=gsk_your_secret_api_key_here

### Seçenek B: Ortam Değişkeni İle
Alternatif olarak, terminal oturumunuza veya işletim sisteminize ortam değişkeni olarak da ekleyebilirsiniz:

export GROQ_API_KEY="gsk_your_secret_api_key_here"

---

## 💻 Kullanım Şekilleri

### 1. Terminal CLI Modu (Doğrudan Çağrı)

Proje pyproject.toml standartlarına bağlandığı için terminalden doğrudan autofix kelimesiyle koşturulabilir:

#### Hata Tarama ve Otonom Tamir:
autofix --dosya main.py

#### Temiz Koda Yeni Özellik/Fonksiyon Ekleme veya Formatlama:
autofix --dosya main.py --komut "toplama fonksiyonu ekle ve tip ipuclarini (type hints) unutma"

### 2. Python Kod İçi Kütüphane Modu

Yazdığınız agentic workflow'lara veya multi-agent sistemlere bir alt motor olarak entegre edebilirsiniz:

import os
from autofix import tek_dosya_otonom_tamir

basari = tek_dosya_otonom_tamir(
    dosya_yolu="uygulama.py",
    ozel_komut="Yazilan kodlardaki tum aciklama satirlarini Turkce yap.",
    api_key=os.environ.get("GROQ_API_KEY", ""), # .env dosyası varsa burayı boş da bırakabilirsiniz
    tur_bilgisi="Agent-Core"
)

if basari:
    print("Kod otonom olarak güncellendi!")

---

## 🛠️ Klasör Mimarisi

PyCharmMiscProject/
│
├── autofix/                  # Ana Kütüphane Klasörü
│   ├── __init__.py           # Paket Arayüzü
│   └── engine.py             # V12 Çift Modlu Ana Motor
│
├── .env                      # API Anahtarı Saklama Dosyası (Opsiyonel)
├── pyproject.toml            # Modern Paket Yönetim Dosyası
└── README.md                 # Dokümantasyon

---

## 👤 Geliştirici
* **Abdullah Topak** - Software Engineering Student & AI Developer
