Metadata-Version: 2.4
Name: ai-python-cli
Version: 0.1.0
Summary: Türkçe, yerel ve Termux uyumlu Python geliştirme yardımcısı CLI
Author-email: AltayHR <qlash38@gmail.com>
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/AltayHR/ai-python
Project-URL: Repository, https://github.com/AltayHR/ai-python
Project-URL: Issues, https://github.com/AltayHR/ai-python/issues
Project-URL: Community, https://turkhackteam.org
Keywords: python,cli,turkish,termux,local-ai,developer-tools
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# AI Python

Türkçe konuşan, yerel çalışan ve Termux için tasarlanan Python geliştirme
yardımcısı. `ai-python-cli` paketi kurulduktan sonra `ai-python` komutu bir terminal oturumu gibi çalışır; görevleri Türkçe
anlar, proje kökünü keşfeder, dosya değişikliklerini diff ve canlı satır akışı
ile gösterir, ardından uygun kalite kontrollerini çalıştırır.

> İlk sürüm anahtar gerektirmez. Varsayılan motor cihazın içinde çalışır.
> Daha serbest kod üretimi için kullanıcının kendi cihazında çalışan bir yerel
> model, `AI_PYTHON_MODEL_COMMAND` veya `AI_PYTHON_MODEL_ENDPOINT` ile
> bağlanabilir. Kod ve konuşmalar varsayılan olarak cihazdan çıkmaz.

## Özellikler

- Türkçe sohbet ve Türkçe hata özetleri
- Etkileşimli terminal ve tek seferlik komut kullanımı
- Termux, Linux, macOS ve Windows için yalnızca Python standart kütüphanesi
- proot-distro gerektirmeyen kurulum
- Çalışma kökü içinde dosya oluşturma ve güncelleme
- Mevcut dosyada diff gösterme ve değişiklik öncesi yerel yedek
- Komut çalıştırmadan önce açık onay
- Test keşfi: pytest veya unittest
- Python sözdizimi kontrolü için compileall geri dönüşü
- Yerleşik CLI ve hesap makinesi örnek üreticileri
- Yerel model komutu veya localhost uç noktası bağlama desteği
- Renkli terminal yerine düz çıktı seçeneği
- Telemetri yoktur
- Topluluk: **https://turkhackteam.org**
- Geliştirici Telegram: **AltayHR**

## Kurulum

### Termux

Termux'u F-Droid veya resmi güvenilir kaynaktan kurun. proot-distro gerekmez:

```bash
pkg update
pkg install python
python -m pip install --upgrade pip
python -m pip install ai-python-cli
ai-python
```

Android dosyalarına erişim gerekiyorsa Termux'un kendi izin akışını kullanın:

```bash
termux-setup-storage
cd ~/storage/shared
ai-python --root ./projem
```

### Linux, macOS ve Windows

```bash
python -m pip install ai-python-cli
ai-python
```

Sanal ortam önerilir:

```bash
python -m venv .venv
# Linux/macOS/Termux:
source .venv/bin/activate
# Windows PowerShell:
# .venv\Scripts\Activate.ps1
python -m pip install ai-python-cli
```

## Kullanım

Etkileşimli mod:

```bash
ai-python
```

Tek görev:

```bash
ai-python --root ./ornek-proje "Bir CLI uygulaması oluştur ve test et"
```

Komutlar:

| Komut | İşlev |
| --- | --- |
| `:yardım` | Türkçe yardım ve örnekler |
| `:durum` | Proje kökü ve dosya özeti |
| `:test` | Testleri ve sözdizimi kontrollerini çalıştırır |
| `:topluluk` | İletişim ve topluluk bilgisi |
| `:çıkış` | Oturumu kapatır |

Örnek görevler:

```text
Bir CLI uygulaması oluştur ve test et
Bir hesap makinesi yaz
config.py dosyası oluştur
Bu test hatasını Türkçe açıkla
```

## Güvenlik ve izin modeli

Aracın terminale erişmesi, kullanıcıya görünür ve kontrollü olacak şekilde
tasarlanmıştır:

1. Dosya yazımı çalışma köküyle sınırlıdır.
2. Mutlak veya kök dışı yollar varsayılan olarak kabul edilmez.
3. Mevcut dosyanın değişiminde diff gösterilir ve onay istenir.
4. Mevcut dosyalar değişmeden önce `.ai-python/backups/` altında yedeklenir.
5. Komutlar ayrı süreçte, proje kökünde ve zaman aşımı ile çalışır.
6. `--yes` yalnızca otomasyon için vardır; güvenilmeyen girdilerle kullanılmamalıdır.

“Hiçbir şeyi sorgulamama” isteği yerine, yanlış dosyayı silme veya zararlı bir
komutu çalıştırma riskini azaltan açık izinleri koruruz. Bu, aracın kullanıcı
kontrolünde kalmasını sağlar.

## Yerel model bağlama

Harici bir API anahtarı istemeden cihazda çalışan bir model bağlanabilir.
Model komutu, JSON planını stdin üzerinden almalı ve aşağıdaki biçimde JSON
döndürmelidir:

```json
{
  "message": "Türkçe açıklama",
  "changes": [
    {"path": "src/main.py", "content": "print('merhaba')\n"}
  ],
  "commands": ["python -m pytest"],
  "should_test": true
}
```

```bash
export AI_PYTHON_MODEL_COMMAND="python ./yerel_model_adapter.py"
ai-python "Bir web servisi oluştur"
```

HTTP kullanan yerel bir model için:

```bash
export AI_PYTHON_MODEL_ENDPOINT="http://127.0.0.1:8080/v1/ai-python"
ai-python
```

Adres `127.0.0.1` veya `localhost` olmalıdır. Bu paket kendi başına model
indirmez; Termux cihazlarında model boyutu ve mimari desteği kullanıcı
donanımına göre değiştiği için model motorunu ayrı tutar.

## Geliştirici kurulumu

```bash
git clone https://github.com/AltayHR/ai-python.git
cd ai-python
python -m venv .venv
source .venv/bin/activate
python -m pip install -e .
PYTHONPATH=src python -m unittest discover -s tests
```

Pytest kuruluysa:

```bash
python -m pytest
```

Kalite kontrolü:

```bash
python -m compileall -q src tests
python -m pip wheel . --no-deps --wheel-dir dist
```

## Yayınlama

Yayınlama token'larını hiçbir zaman README'ye veya Git deposuna yazmayın.
PyPI token'ı ortam değişkeni olarak kullanılabilir:

```bash
export TWINE_USERNAME=__token__
export TWINE_PASSWORD='pypi-...'
python -m pip install build twine
python -m build
twine upload --repository testpypi dist/*
twine upload dist/*
```

GitHub için:

```bash
git add .
git commit -m "Release v0.1.0"
git push origin main
```

GitHub Actions yapılandırması paketleme kontrollerini çalıştırmak için
`.github/workflows/quality.yml` dosyasına eklenebilir. Yayınlama öncesi paket
adı, sürüm ve sahiplik kontrol edilmelidir.

## Mimari

`src/ai_python/` içinde:

- `cli.py`: etkileşimli terminal ve tek görev akışı
- `engine.py`: yerleşik Türkçe motor ve yerel model adaptörleri
- `context.py`: proje keşfi ve bağlam özeti
- `files.py`: diff, güvenli yol çözümleme ve yedek
- `shell.py`: komut çalıştırma ve çıktı yönetimi
- `config.py`: kullanıcı/proje ayarları

Bağımlılıkların standart kütüphane ile sınırlı tutulması Termux kurulumunu
hafifletir ve farklı Python 3.11+ sürümlerinde taşınabilirliği artırır.

## Lisans ve iletişim

Apache-2.0 lisansı ile dağıtılır.  
Geliştirici Telegram: **AltayHR**  
Topluluk: **https://turkhackteam.org**  
E-posta: **qlash38@gmail.com**

---

# English summary

AI Python is a Turkish-first, local, dependency-free Python development
assistant for Termux, Linux, macOS and Windows. It provides an interactive CLI,
visible file diffs, local backups, explicit command approval, test discovery,
and optional adapters for a model running on the same device. No external API
key or telemetry is required by the default engine.
