# Komut Satırı Arayüzü (CLI)

Masaüstü uygulamasını açmadan lisansı doğrulamak ve kaydedilmiş `.pmod` senaryolarını çalıştırmak için `studio` komut satırı aracını kullanın.

CLI'yi çağırmanın en güvenli yolu, AugeLab Studio'nun yüklü olduğu Python yürütülebilir dosyasını kullanmaktır:

```bash
python -m studio --help
```

Eğer ortamınızda `studio` konsol komutu da görünür durumdaysa, bu da çalışır:

```bash
studio --help
```

## Başlamadan Önce

Gerekenler:

* AugeLab Studio yüklü olmalı.
* Kaydedilmiş bir `.pmod` senaryo dosyanız olmalı.
* Makine zaten etkinleştirilmemişse AugeLab doğrulama kodunuz.
* `studio`'nun yüklü olduğu ortamın Python yürütülebilir dosyası.

> **Bilgi:** Hizmetler, zamanlanmış görevler, Docker veya SSH oturumlarından çalıştırırken mutlak (absolute) yollar kullanın. Bu, yanlış Python ortamının kullanılmasını önler.

## Adım 1: Python'u Bulun

### Windows

AugeLab yükleyicisiyle kurduysanız, Python ortamı genellikle şurada olur:

```powershell
$py = "$env:USERPROFILE\studio_venv\Scripts\python.exe"
& $py -m studio --help
```

Projeye ait bir sanal ortama manuel kurulum yaptıysanız, o ortamın python yürütülebilir dosyasını gösterin:

```powershell
$py = "C:\path\to\studio_venv\Scripts\python.exe"
& $py -m studio --help
```

Eğer `studio` PATH üzerinde bulunuyorsa doğrudan kontrol edebilirsiniz:

```powershell
studio --help
```

### Linux

Linux yükleyicisiyle kurduysanız, Python ortamı genellikle şurada olur:

```bash
PY="$HOME/studio_venv/bin/python"
"$PY" -m studio --help
```

Projeye ait bir sanal ortama manuel kurulum yaptıysanız, o ortamı gösterin:

```bash
PY="/path/to/studio_venv/bin/python"
"$PY" -m studio --help
```

Sanal ortam zaten aktifse:

```bash
python -m studio --help
```

### Docker

Docker örnekleri içinde modül formunu çalıştırın:

```bash
python -m studio --help
```

## Adım 2: Lisansı Doğrulama

Makine veya konteyner görüntüsü başına bir kez çalıştırın:

```powershell
& $py -m studio verify "YOUR_VERIFICATION_CODE"
```

Linux:

```bash
"$PY" -m studio verify "YOUR_VERIFICATION_CODE"
```

Beklenen çıktı:

```
Verification succeeded.
```

Gerçek doğrulama kodlarını paylaşılan betiklere, Dockerfile'lara veya Git depolarına gömmeyin. Otomasyon sırasında ortam değişkenleri veya gizli depolama kullanın.

## Adım 3: Senaryoyu Çalıştırma

Windows:

```powershell
& $py -m studio run "C:\path\to\scenario.pmod"
```

Linux:

```bash
"$PY" -m studio run /path/to/scenario.pmod
```

Komut, senaryo durana, hata verene veya `Ctrl+C` ile kesilene kadar çalışır.

> **Uyarı:** Senaryo dış dosyalar (görüntüler, modeller, kalibrasyon dosyaları, özel blok varlıkları vb.) kullanıyorsa proje klasörünü komple kopyalayın. Bu dosyaları, senaryo kaydedilirken kullanılan aynı göreli konumlarda tutun.

## Yaygın Çalıştırma Modları

Belirli sayıda tamamlanmış adım çalıştırın:

```bash
"$PY" -m studio run scenario.pmod --step 10
```

Web panosunu başlatın:

```bash
"$PY" -m studio run scenario.pmod --web --address 0.0.0.0 --port 8080
```

Gözetimli yeniden başlatma ile kesintisiz çalıştırma:

```bash
"$PY" -m studio run scenario.pmod --on-fail restart --max-restarts 5 --restart-delay 3
```

Otomasyon için satır-ayrılmış JSON olayları gönderin:

```bash
"$PY" -m studio run scenario.pmod --json
```

Çalışma zamanı günlük ayrıntı düzeyini değiştirin:

```bash
"$PY" -m studio run scenario.pmod --verbosity 20
```

Eksik isteğe bağlı kaynaklarla kasıtlı olarak devam etmek istiyorsanız senaryo yükleme hatalarını yoksaymak için:

```bash
"$PY" -m studio run scenario.pmod --ignore-errors
```

> **Uyarı:** `--step` ile `--web` birlikte kullanılamaz.

## Komut Referansı

| Komut                                                                    | Amaç                                                       |
| ------------------------------------------------------------------------ | ---------------------------------------------------------- |
| `python -m studio --help`                                                | Üst düzey CLI yardımını gösterir.                          |
| `python -m studio verify CODE`                                           | Geçerli makine için doğrulama kodu kaydeder.               |
| `python -m studio run scenario.pmod`                                     | Kaydedilmiş bir senaryoyu sürekli çalıştırır.              |
| `python -m studio run scenario.pmod --step 10`                           | Kaydedilmiş senaryoyu 10 tamamlanmış adım için çalıştırır. |
| `python -m studio run scenario.pmod --web --address 0.0.0.0 --port 8080` | Web paneli ile çalıştırır.                                 |
| `python -m studio run scenario.pmod --on-fail restart --max-restarts 5`  | Hatalı çalıştırmaları en fazla 5 kez yeniden başlatır.     |
| `python -m studio run scenario.pmod --json`                              | Yaşam döngüsü ve sonuç kayıtlarını JSON olarak gönderir.   |

## Çıkış Kodları

| Kod   | Anlamı                                       |
| ----- | -------------------------------------------- |
| `0`   | Başarılı.                                    |
| `2`   | Komut kullanım hatası.                       |
| `3`   | Lisans doğrulama veya lisans yükleme hatası. |
| `4`   | Senaryo yükleme hatası.                      |
| `5`   | Senaryo çalışma zamanı hatası.               |
| `6`   | Beklenmeyen çökme.                           |
| `7`   | Web paneli başlatma hatası.                  |
| `8`   | Yeniden başlatma denemeleri tükendi.         |
| `130` | Kullanıcı tarafından kesildi.                |

## Sorun Giderme

| Belirti                     | Çözüm                                                                                             |
| --------------------------- | ------------------------------------------------------------------------------------------------- |
| `No module named studio`    | Studio sanal ortamının Python yürütülebilir dosyasını kullanın.                                   |
| `studio` command not found  | Doğru Python yürütülebilir dosyası ile `python -m studio` kullanın.                               |
| Senaryo dosyası bulunamıyor | Mutlak `.pmod` yolu kullanın veya proje klasöründen çalıştırın.                                   |
| Lisans hatası               | `studio verify` komutunu tekrar çalıştırın ve doğrulama kodunu kontrol edin.                      |
| Web paneli başlamıyor       | `--port` parametresini değiştirin veya güvenlik duvarı ve konteyner port eşlemesini kontrol edin. |
| Senaryo yükleme hatası      | Eksik kaynakları `.pmod` ile birlikte kopyalayın veya özel blok/kaynak yollarını düzeltin.        |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.augelab.com/turkish/one-cikan-ozellikler/headless/command-line-interface.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
