Metadata-Version: 2.4
Name: ai-python-cli
Version: 0.1.1
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.

## Motor hakkında önemli not

`ai-python-cli` paketinin varsayılan motoru gömülü, küçük ve anahtar
gerektirmeyen bir görev motorudur; GGUF dosyası veya harici API olmadan çalışır.
Kurulumdan sonra CLI, dosya güvenliği, proje özeti, temel Türkçe görevler ve
test akışını sunar. Sınırsız genel amaçlı bir dil modeli değildir. Daha geniş
kod üretimi için aynı cihazda çalışan bir yerel modeli isteğe bağlı olarak
bağlayabilirsin.

Termux'ta `~` dizininde başlatıldığında tüm home klasörü taranmaz; hızlı açılış
için yalnızca home içindeki temel dosyalar okunur. Bir projede çalışmak için
kökü açıkça ver:

```bash
ai-python --root ~/storage/shared/projem
```

## Ö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.
