Metadata-Version: 2.4
Name: mico-agent
Version: 0.1.1
Summary: mico — local coding agent for Apple Silicon (MLX) and Linux
Author: mico contributors
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/captainonedin/mico
Project-URL: Repository, https://github.com/captainonedin/mico
Project-URL: Issues, https://github.com/captainonedin/mico/issues
Keywords: llm,agent,cli,mlx,coding-assistant,local-ai
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: requests>=2.31
Requires-Dist: httpx>=0.27
Requires-Dist: prompt_toolkit>=3.0.43
Requires-Dist: rich>=13.7
Provides-Extra: mlx
Requires-Dist: mlx>=0.20; extra == "mlx"
Requires-Dist: mlx-lm>=0.21; extra == "mlx"
Provides-Extra: rag
Requires-Dist: chromadb>=0.4.0; extra == "rag"
Requires-Dist: sentence-transformers>=2.2.0; extra == "rag"
Requires-Dist: pydantic>=2.0; extra == "rag"
Provides-Extra: skills
Requires-Dist: beautifulsoup4>=4.12.0; extra == "skills"
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23; extra == "dev"
Requires-Dist: pytest-cov>=4.1; extra == "dev"
Requires-Dist: ruff>=0.6; extra == "dev"
Dynamic: license-file

# mico ⚓

> Local coding agent for Apple Silicon and Linux. Runs your model. On your machine. End-to-end.

```
                          ⚓
                       ┌──────┐
                       │ mico │
                       └──────┘
```

**Status:** alpha (0.1.1). API ve CLI değişebilir.

## Ne işe yarar?

mico, terminalinden çalışan, **yerel LLM**'lerle (MLX / Ollama / OpenAI uyumlu sunucular) konuşan bir coding agent'tır:

- Yapısal araç çağrıları (`read_file`, `replace_in_file`, `bash`, `run_tests`, `grep_code`, ...)
- Otomatik patch + test loop
- Oturum kalıcılığı, kompakt geçmiş özetleme
- Donanıma göre profil önerisi
- Bedava, açık kaynak, telemetry yok

## Gereksinimler

- macOS (Apple Silicon önerilir) veya Linux
- Python 3.11+
- 16 GB+ unified memory (8B model için 8 GB yeter, 14B+ için 24 GB+)

## Hızlı kurulum

```bash
pip install mico-agent            # core
pip install 'mico-agent[mlx]'     # Apple Silicon MLX backend ile
mico                        # ilk çalıştırma → wizard
```

İlk açılışta mico:

1. Donanımı tespit eder (CPU, RAM, GPU/Neural Engine)
2. `~/Desktop/models/`, HF cache, LM Studio'yu tarayıp yerel modelleri listeler
3. Donanım × model eşleşmesinden bir profil önerir, onaylatır
4. Tercihleri `~/.mico/` altına kaydeder ve `~/.mico/setup-complete` oluşturur

**Sonraki açılışlar:** Her açılışta hızlı model seçim ekranı gösterilir — Enter'a basarak önceki seçimi kabul edebilirsin ya da farklı bir model seçebilirsin. Kurulum sihirbazı tekrar çalışmaz; yalnızca model seçimi sorulur.

**Akış farkları:**
- `mico` / `mico repl` → model seçimi + interaktif REPL
- `mico ask "prompt"` → model seçimi + tek seferlik çalıştır, çık
- `mico setup [--force]` → sihirbazı sıfırdan çalıştır
- `mico repl --non-interactive` → CI/script ortamı, stdin yoktur

## Komutlar

```
mico                    Interaktif chat
mico ask "prompt"       Tek seferlik
mico setup              Wizard'ı tekrar çalıştır (--force ile zorla)
mico models             Algılanan modelleri listele
mico --doctor           Tanı çıktısı (donanım + profil)
mico server-stop        Çalışan model sunucusunu durdur
```

## TUI özellikleri

- **Slash komut paleti**: `/` yazınca komutlar dropdown ile gelir
  - `/help` `/mode` `/network` `/thinking` `/cd` `/compact` `/clear`
  - `/history` `/save` `/model` `/exit`
- **Dosya tamamlama**: `@` yazınca cwd'deki dosyalar autocomplete
- **Alt çubuk**: Aktif model · mode · ctx · network · thinking durumu canlı
- **JSON-aware streaming**: Model'in `{"type":"final","message":"..."}` ham
  JSON'u kullanıcıya gizlenir; sadece temiz mesaj görünür
- **Tool çağrı render'ı**: `▸ tool_name(args)` + foldlanmış sonuç
- **Spinner**: Braille animasyonu (TTY) — `düşünüyor → yazıyor` geçişi
- **Sıkı kapatma**: Ctrl+D'de model server'a SIGTERM → 3sn → SIGKILL
- **Oturum sürdürme**: Aynı session'a kaldığı yerden devam veya yeniden başla
- **Trivial chat fast path**: `selam` gibi sohbetler tool loop'u atlar

## İlk kurulum

```bash
git clone https://github.com/captainonedin/mico ~/mico
~/mico/bin/mico                  # ilk açılış → wizard
# veya PATH'e ekle:
ln -s ~/mico/bin/mico /opt/homebrew/bin/mico   # macOS
ln -s ~/mico/bin/mico ~/.local/bin/mico        # Linux
```

İlk açılışta:
1. Sistem Python 3.11+ tespit edilir
2. Bağımlılıklar listelenir + onay alınır
3. Mevcut bir venv'de gerekli paketler varsa yeniden indirilmez; kullanmak için onay sorulur
4. Yoksa `~/.mico/.venv` oluşturulup oraya kurulur (PEP 668 uyumlu)
5. mico kendini venv'den yeniden başlatır

Aktif Python ortamını ve venv durumunu görmek için: `mico --doctor`

## Desteklenen çekirdek akış

Kararlı ve desteklenen yüzey:

| Özellik | Komut / Araç |
|---------|-------------|
| Interaktif REPL | `mico` |
| Tek seferlik | `mico ask "..."` |
| Model yönetimi | `mico models` |
| Tanı | `mico --doctor` |
| Tool loop (bash, read/write, git, tests, http) | agent içi otomatik |
| Slash komutları | `/help`, `/mode`, `/thinking`, `/compact`, `/cd`, `/history`, `/save`, `/model`, `/clear`, `/exit` |

**Deneysel / varsayılan-kapalı** özellikler (kod tabanında var, aktif geliştirme altında):

- `orchestra.py` — çok-model architect/worker yönlendirme
- `rag.py` — ChromaDB tabanlı yerel RAG (pip install mico-agent[rag] gerekli)
- Prompt Toolkit TUI (eski) — yeni akış `run_single_turn` tabanlı

## Mimari

Detay: `docs/architecture.md`.

## Güvenlik araçları

mico **çekirdek olarak** sadece coding/dev iş akışına odaklı. Pentest/security tooling
ayrı bir paket olarak yayınlanır:

```bash
pip install mico-security   # nmap, ffuf, openssl wrappers; auditing skills
```

mico-security ayrı repodadır, ayrı izinlerle yönetilir, default'ta yüklü değildir.

## İlk kullanım başarı kriterleri

Başarılı bir kurulum şu adımları geçer:

| Adım | Beklenen çıktı |
|------|---------------|
| `pip install mico-agent` | Hata yok |
| `mico --doctor` | Python yolu, donanım, profil durum görünür |
| `mico setup` | Model seçim ekranı açılır; profil `~/.mico/profile.json`'a kaydedilir |
| `mico ask "merhaba"` | Yanıt ≤ 30 saniye gelir (soğuk başlatma dahil) |
| `mico models` | En az 1 model listelenir ya da "model bulunamadı" bilgisi verilir |

Sorun varsa: `mico --doctor` çıktısını issue açarken ekle.

## Lisans

Apache-2.0 — bkz. [LICENSE](LICENSE) ve [NOTICE](NOTICE).

## Katkı

[CONTRIBUTING.md](CONTRIBUTING.md) — issue açmadan önce oku.
