# Yürütme modları ve izinler (/tr/docs/verdent-for-vscode/execution-modes/overview)

> Farklı yürütme modlarını ve bunları ne zaman kullanacağınızı anlama



***

Verdent for VS Code, yapay zekanın dosyalarınızla nasıl etkileşime girdiğini ve komutları nasıl çalıştırdığını kontrol eden birden fazla yürütme modu sunar. Her mod; kontrol, hız ve güvenlik arasında farklı dengeler sağlar.

### Neler öğreneceksiniz [#neler-öğreneceksiniz]

* Her yürütme modunun nasıl çalıştığı ve ne zaman kullanılacağı
* İzin modelleri ve güvenlik hususları
* Mod karşılaştırması ve geçiş stratejileri
* Karmaşık akıl yürütme görevleri için Think Hard Mode

### Kullanılabilen temel modlar [#kullanılabilen-temel-modlar]

<CardGroup cols="2">
  <Card title="Manual Accept Mode" icon="hand">
    Korumalı her işlem için izin isteyen varsayılan mod. Maksimum kontrol ve denetim.
  </Card>

  <Card title="Auto-Run Mode" icon="play">
    Otomatik dosya işlemleri, komutlar için izin gerekir. Hız ile güvenliği dengeler.
  </Card>

  <Card title="Skip Permission Mode" icon="forward">
    İzole ortamlar için tam özerklik. Hiçbir şey için izin istemi yok.
  </Card>

  <Card title="Plan Mode" icon="clipboard-list">
    Salt okunur planlama modu. Yürütme başlamadan önce planın tamamını inceleyin.
  </Card>
</CardGroup>

***

## Yürütme modları [#yürütme-modları]

<Tabs>
  <Tab title="Manual Accept Mode">
    Manual Accept Mode, dosya değişiklikleri ve komut yürütmesi üzerinde kontrol sağlayan varsayılan yürütme modudur.

    **Otomatik işlemler:**

    * Dosya okuma ve kod analizi
    * Dizin gezme

    **İzin gerektirir:**

    * Dosya düzenleme (oluşturma, değiştirme, silme)
    * Komut yürütme (terminal komutları, testler, derlemeler)

    Verdent korumalı bir işlem yapması gerektiğinde, gerçekleştirmek istediği eylemi ve hangi dosya/komutun söz konusu olduğunu gösterir. Her işlemi **Accept** veya **Reject** edebilirsiniz.

    **Önemli:** Her izin yalnızca o belirli işlem içindir. Manual Accept Mode, oturum boyunca korumalı her işlem için onay gerektirir.

    #### Ne zaman kullanılır [#ne-zaman-kullanılır]

    * Verdent'in yeteneklerini ve iş akışı kalıplarını öğrenirken
    * Dikkatli denetim gerektiren tanıdık olmayan kod tabanlarında çalışırken
    * Üretim koduna veya güvenlik açısından hassas alanlara yapılan kritik değişikliklerde
    * Açık onay izleri gerektiren uyumluluk gereksinimlerinde

    #### Etkinleştirme [#etkinleştirme]

    Manual Accept Mode varsayılan olarak etkindir. Geri dönmek için:

    <Steps>
      <Step title="İzin menüsünü açın">
        Giriş Kutusu'ndaki "Switch Permission" düğmesine tıklayın
      </Step>

      <Step title="Manual Accept Mode'u seçin">
        Açılır menüden "Manual Accept Mode" seçeneğini seçin
      </Step>

      <Step title="Etkinleşmeyi doğrulayın">
        Modun etkin olduğunu doğrulamak için düğmede "Manual" görüntülenir
      </Step>
    </Steps>

    #### Güvenlik hususları [#güvenlik-hususları]

    **Avantajlar:**

    * Araç türü başına ilk kullanımda onay (dosya düzenlemeleri, komutlar, araçlar)
    * Erişim vermeden önce tam görünürlük
    * Maksimum kontrol ve şeffaflık

    **Sınırlamalar:**

    * Bir araç türünün ilk onayından sonra, sonraki kullanımlar istem olmadan devam eder
    * Onay her işlem için değil, araç türü başınadır
    * Kritik kod üzerinde çalışırken araç onaylarını sıfırlamak için yeni oturumlar başlatın
  </Tab>

  <Tab title="Auto-Run Mode">
    Auto-Run Mode, dosya işlemlerini otomatik olarak onaylarken komutlar için izin gerektirir. Bu, riskli işlemler için güvenliği korurken rutin dosya çalışmalarındaki izin istemlerini azaltır.

    **Otomatik:**

    * Çalışma alanı içinde dosya okuma, düzenleme, oluşturma, silme
    * Çalışma alanı içinde dosyaları taşıma, yeniden adlandırma, düzenleme
    * Dosya arama ve gezinme işlemleri

    **İzin gerektirir:**

    * **Geçerli çalışma alanı dışındaki yolları içeren herhangi bir komut**
    * **Tehlikeli bash komutları:** `rm -rf`, `git commit`, `git push` vb.
    * Komut yürütme (terminal, betikler, derlemeler)
    * Paket kurulumu ve sistem değişiklikleri

    #### Ne zaman kullanılır [#ne-zaman-kullanılır-1]

    | Auto-Run şu durumlarda kullanın                                | Şu durumlarda kullanmayın       |
    | -------------------------------------------------------------- | ------------------------------- |
    | Sürüm kontrolü olan güvenilir kod tabanları                    | Tanıdık olmayan kod tabanı      |
    | Hızlı prototipleme ve deneme                                   | Kritik üretim kodu              |
    | Çok dosyalı yeniden düzenleme (15+ dosya = 15 istem tasarrufu) | Sürüm kontrolü güvenlik ağı yok |
    | Kesintileri en aza indiren odaklı geliştirme                   | Uyumluluk gereksinimleri        |

    #### Etkinleştirme [#etkinleştirme-1]

    <Steps>
      <Step title="İzin menüsünü açın">
        Geçerli modu gösteren "Switch Permission" düğmesine tıklayın
      </Step>

      <Step title="Auto-Run Mode'u seçin">
        Açılır menüden "Auto-Run Mode" seçeneğini seçin
      </Step>

      <Step title="Etkinleşmeyi doğrulayın">
        Modun etkin olduğunu doğrulamak için düğmede "Auto" görüntülenir
      </Step>
    </Steps>

    Oturumlar ve VS Code yeniden başlatmaları boyunca kalıcıdır. Tüm çalışma alanlarına genel olarak uygulanır.

    #### Örnek iş akışı [#örnek-iş-akışı]

    **POST /api/tasks uç noktası oluşturma:**

    1. Auto-Run Mode'u etkinleştirin
    2. Gönderin: "Kategorinin var olduğunu doğrulayan ve veritabanına kaydeden bir POST /api/tasks uç noktası oluştur"
    3. Verdent 5+ dosya okur, 3 dosyayı otomatik olarak değiştirir (istem yok)
    4. Değişiklikleri Source Control panelinde inceleyin
    5. Test isteyin: "Tasks API için testleri çalıştır"
    6. `npm test` komutu için izin istemi - Accept
    7. Doğrulama ekleyin: "Boş başlıklar için doğrulama ekle"
    8. Verdent otomatik olarak düzenler (istem yok)
    9. Tekrar test isteyin - İzin istemi - Accept
    10. Diff'leri inceleyin, değişiklikleri commit edin

    **Sonuç:** 3 komut istemi, 0 dosya istemi. Manual Accept 4 ek dosya istemi gerektirirdi.

    #### Güvenlik hususları [#güvenlik-hususları-1]

    **Avantajlar:**

    * Değişiklikler VS Code'da anında görünür
    * Çalışma alanı kapsamlı (sistem dosyalarını etkileyemez)
    * Git geri alma güvenliği sağlar

    **Riskler:**

    * Dosya işlemi denetimi yok
    * Beklenmedik kapsam ("User'ı Account olarak yeniden adlandır" onlarca dosyayı değiştirebilir)
    * Temizlik sırasında dosya silme olası
    * İstendiğinde hassas dosyaları değiştirebilir

    **Önlem:**

    * Net, belirli istemler kullanın
    * Tamamlamalardan sonra Source Control panelini inceleyin
    * Temiz kontrol noktaları için sık sık commit yapın
    * Karmaşık işlemler için önce Plan Mode'u kullanın
    * Hassas dosyaları korumak için .gitignore yapılandırın
  </Tab>

  <Tab title="Skip Permission Mode">
    Skip Permission Mode tüm izin istemlerini atlayarak tam özerklik sağlar. &#x2A;*Yalnızca izole, atılabilir ortamlarda kullanın.**

    **Tüm işlemler otomatik:**

    * Dosya işlemleri
    * Komut yürütme
    * Paket kurulumu
    * Sistem düzeyinde işlemler

    <Warning>
      Bu mod tüm güvenlik korumalarını kaldırır. Yalnızca hataların hiçbir sonucu olmadığı tamamen izole, atılabilir ortamlarda kullanın. Üretimde veya önemsediğiniz herhangi bir kod tabanında asla kullanmayın.
    </Warning>

    #### Ne zaman kullanılır [#ne-zaman-kullanılır-2]

    | Skip Permission şu durumlarda kullanın                       | ASLA şunlar için kullanmayın           |
    | ------------------------------------------------------------ | -------------------------------------- |
    | İzole konteynerlerde otomatik CI/CD işlem hatları            | Üretim ortamları                       |
    | Atılabilir geliştirme konteynerleri (deneme sonrası silinir) | Önemli kod içeren geliştirme ortamları |
    | Üretim bağlantısı olmayan sanal alan ortamları               | Önemsediğiniz herhangi bir kod tabanı  |
    | İnsan onayının amacı boşa çıkardığı betikli iş akışları      | Paylaşılan depolar                     |
    |                                                              | Hassas veri içeren ortamlar            |

    #### Etkinleştirme [#etkinleştirme-2]

    <Steps>
      <Step title="İzin menüsünü açın">
        "Switch Permission" düğmesine tıklayın
      </Step>

      <Step title="Skip Permission Mode'u seçin">
        Açılır menüden "Skip Permission Mode" seçeneğini seçin
      </Step>

      <Step title="Etkinleşmeyi doğrulayın">
        Modun etkin olduğunu doğrulamak için düğmede "Skip" görüntülenir
      </Step>
    </Steps>

    **Etkinleştirmeden önce güvenlik kontrolü:**

    * Bu atılabilir bir konteyner veya VM mi?
    * Bu ortam herhangi bir sonuç olmadan silinebilir mi?
    * Burada herhangi bir üretim veya önemli kod var mı?

    İlk ikisine "hayır" veya üçüncüsüne "evet" ise, etkinleştirMEYİN.

    #### Güvenlik uyarıları [#güvenlik-uyarıları]

    **TÜM güvenlik korumaları kaldırılır:**

    * Komutlar sistem izinleriyle anında yürütülür
    * Dosyalar uyarı olmadan değiştirilebilir veya silinebilir
    * Veritabanı işlemleri, Git işlemleri (force push dahil) onay olmadan devam eder
    * Kötü amaçlı paketler kurabilir veya kimlik bilgilerini açığa çıkarabilir

    **Yalnızca şu durumlarda güvenlidir:**

    * Ortam tamamen atılabilir
    * Önemli kod veya veri yok
    * Üretim sistemlerine bağlantı yok
    * Her şeyin yok edilebileceğini kabul ediyorsunuz
  </Tab>
</Tabs>

***

## Plan Mode [#plan-mode]

Plan Mode, Verdent'in kodu analiz ettiği, ayrıntılı planlar oluşturduğu ve açıklayıcı sorular sorduğu, ancak siz onaylayana kadar dosyaları değiştiremediği veya komutları yürütemediği salt okunur bir etkileşim modudur.

#### Nasıl çalışır [#nasıl-çalışır]

1. **Analiz** - Dosyaları otomatik olarak okur
2. **Planlama** - Yapılacaklar listesiyle yapılandırılmış plan oluşturur
3. **Açıklama** - Belirsizliği gidermek için sorular sorar
4. **Onay** - İncelersiniz ve devam etmeye karar verirsiniz
5. **Yürütme** - Yürütmek için izin modunuza geçer

Plan, değiştirilecek dosyaları, uygulama adımlarını, bağımlılıkları ve doğrulama stratejisini gösterir.

#### Ne zaman kullanılır [#ne-zaman-kullanılır-3]

* Karmaşık çok dosyalı değişiklikler (taahhütte bulunmadan önce kapsamı anlayın)
* Tanıdık olmayan kod tabanları (risk olmadan güvenli keşif)
* Mimari kararlar (uygulamadan önce yaklaşımı inceleyin)
* Manual Accept yorgunluğundan kaçınma (50 ayrı istem yerine bir kez inceleme)
* Yüksek riskli üretim değişiklikleri (yürütmeden önce tam görünürlük)

#### Etkinleştirme [#etkinleştirme-3]

<Steps>
  <Step title="Mod menüsünü açın">
    Giriş Kutusu'ndaki "Switch Mode" düğmesine tıklayın
  </Step>

  <Step title="Plan Mode'u seçin">
    Açılır menüden "Plan Mode" seçeneğini seçin
  </Step>

  <Step title="Etkinleşmeyi doğrulayın">
    Modun etkin olduğunu doğrulamak için mod göstergesi "Plan" olarak değişir
  </Step>
</Steps>

Etkin olduğunda Verdent analiz yapar ve planlar oluşturur, ancak siz onaylayana kadar dosyaları değiştirmez veya komutları yürütmez. Onaydan sonra varsayılan izin modunuza (Manual Accept veya Auto-Run) geçer.

#### Güvenlik hususları [#güvenlik-hususları-2]

**Avantajlar:**

* Planlama sırasında sıfır yürütme riski
* Taahhütte bulunmadan önce tam görünürlük
* Etkileşimli açıklama belirsizliği giderir
* Üretim analizi için güvenli

**Sınırlamalar:**

* Onay doğruluğu garanti etmez (planlarda mantıksal hatalar olabilir)
* Yürütme güvenliği, onaydan sonra seçilen izin moduna bağlıdır
* Plan kalitesi istemin netliğine bağlıdır

**En iyi uygulamalar:**

* Planları mantıksal hatalar veya yanlış anlamalar açısından inceleyin
* Belirsizse takip soruları sorun
* Yürütmeyi onaylamadan önce istemleri iyileştirin
* Hangi izin modunun yürüteceğini düşünün (denetim için Manual Accept, hız için Auto-Run)

***

## Think Hard Mode [#think-hard-mode]

Think Hard Mode, karmaşık akıl yürütme görevleri için maksimum hesaplama kaynağı tahsis eder. Model birden fazla yaklaşımı keşfeder ve daha kapsamlı çözümler sunar.

**Özellikler:**

* Uzatılmış akıl yürütme süresi
* Birden fazla çözüm yaklaşımının daha derin analizi
* Karmaşık mantık, uç durumlar ve mimari kararların daha iyi ele alınması
* İstek başına daha yüksek kredi maliyeti

#### Ne zaman kullanılır [#ne-zaman-kullanılır-4]

| Think Hard Mode şu durumlarda kullanın                | Şu durumlarda kullanmayın              |
| ----------------------------------------------------- | -------------------------------------- |
| Birden fazla dengelemeli karmaşık mimari kararlar     | Basit, anlaşılır görevler              |
| Birden fazla olası nedeni olan karmaşık hata ayıklama | Zaman açısından kritik istekler        |
| Optimizasyon analizi gerektiren algoritma tasarımı    | Sınırlı kredi bütçesi                  |
| Doğruluğun çok önemli olduğu kritik iş mantığı        | Standart modun yeterli olduğu durumlar |
| Karmaşık darboğazların performans optimizasyonu       |                                        |

#### Etkinleştirme [#etkinleştirme-4]

<Tabs>
  <Tab title="Think Hard düğmesi">
    İstek başına etkinleştirme için UI düğmesini kullanın:

    <Steps>
      <Step title="Think Hard'ı etkinleştirin">
        Giriş Kutusu'ndaki "Think Hard" düğmesine/anahtarına tıklayın
      </Step>

      <Step title="İsteminizi gönderin">
        İsteğinizi yazın ve gönderin
      </Step>

      <Step title="Yalnızca tek istek">
        Yalnızca o belirli isteğe uygulanır - kalıcı değildir
      </Step>
    </Steps>

    Tüm yapay zeka sağlayıcılarıyla çalışır. Kalıcı değildir - derin akıl yürütme gerektiren istekler için her seferinde etkinleştirilmelidir.
  </Tab>

  <Tab title="Doğal dil (Claude)">
    İsteminize düşünme anahtar kelimeleri ekleyin:

    ```
    Think: Design the optimal database schema for this multi-tenant SaaS application
    ```

    Veya maksimum akıl yürütme için:

    ```
    Ultrathink: Analyze the trade-offs between different authentication approaches
    ```

    <Note>
      "Think" ve "ultrathink" Claude modeline özgü yeteneklerdir. Bu anahtar kelimeler Claude modellerinde (Sonnet, Opus) daha derin akıl yürütmeyi etkinleştirir, ancak diğer yapay zeka sağlayıcılarıyla (GPT-5, MiniMax) çalışmayabilir.
    </Note>

    Yalnızca istek başına etkinleştirme - Manual Accept veya Auto-Run gibi kalıcı değildir.
  </Tab>
</Tabs>

***

## Mod karşılaştırması [#mod-karşılaştırması]

| Mod                 | Kontrol       | Hız        | En uygun                                                   | Şu durumda kaçının                      |
| ------------------- | ------------- | ---------- | ---------------------------------------------------------- | --------------------------------------- |
| **Manual Accept**   | Maksimum      | En yavaş   | Öğrenme, tanıdık olmayan kod, kritik değişiklikler         | Güvenilir projeler, hızlı yineleme      |
| **Auto-Run**        | Orta          | Hızlı      | Güvenilir kod tabanları, prototipleme, çok dosyalı çalışma | Tanıdık olmayan kod, sürüm kontrolü yok |
| **Skip Permission** | Yok           | En hızlı   | CI/CD, atılabilir konteynerler, sanal alanlar              | Üretim, önemli kod                      |
| **Plan Mode**       | Önce inceleme | Yok        | Karmaşık değişiklikler, mimari kararlar                    | Basit görevler                          |
| **Think Hard**      | İstek başına  | Daha yavaş | Karmaşık akıl yürütme, algoritmalar, kritik mantık         | Basit görevler, zaman açısından kritik  |

### Her modu ne zaman kullanmalı [#her-modu-ne-zaman-kullanmalı]

| Senaryo                       | Manual Accept | Auto-Run | Skip Permission | Plan Mode |
| ----------------------------- | :-----------: | :------: | :-------------: | :-------: |
| Verdent'i öğrenme             |       ✓       |          |                 |           |
| Tanıdık olmayan kod tabanı    |       ✓       |          |                 |     ✓     |
| Git'li güvenilir kod tabanı   |               |     ✓    |                 |           |
| Kritik/üretim kodu            |       ✓       |          |                 |     ✓     |
| Hızlı prototipleme            |               |     ✓    |                 |           |
| Çok dosyalı yeniden düzenleme |               |     ✓    |                 |           |
| Karmaşık mimari planlama      |               |          |                 |     ✓     |
| CI/CD işlem hatları (izole)   |               |          |        ✓        |           |
| Atılabilir konteynerler       |               |          |        ✓        |           |
| Uyumluluk gereksinimleri      |       ✓       |          |                 |           |

***

## Güvenlik en iyi uygulamaları [#güvenlik-en-iyi-uygulamaları]

<Accordion title="Güvenlik hiyerarşisi (en güvenliden en az güvenliye)">
  Her modun güvenlik sıralamasını anlamak, farklı risk seviyeleri için uygun seçimi yapmanıza yardımcı olur.

  1. **Plan Mode** - Onaylanana kadar salt okunur. Planlama sırasında sıfır yürütme riski.
  2. **Manual Accept Mode** - Araç türü başına ilk kullanımda onayla işlem bazında kontrol.
  3. **Auto-Run Mode** - Komut onaylı dosya özerkliği. Git güvenlik ağı gerekir.
  4. **Skip Permission Mode** - Tam özerklik. Yalnızca izole ortamlar.

  Modunuzu risk seviyesine eşleyin: kritik kod en güvenli modları kullanır (Plan, Manual Accept), güvenilir kod daha hızlı modları kullanır (Auto-Run), atılabilir ortamlar en hızlı modu kullanır (Skip Permission).
</Accordion>

<Accordion title="Genel en iyi uygulamalar">
  Hangi yürütme modunu kullandığınızdan bağımsız olarak geçerli olan temel uygulamalar.

  **Tüm modlar için:**

  1. **Sürüm kontrolü kullanın** - İzin verici modları kullanmadan önce Git'i başlatın, sık sık commit yapın, commit etmeden önce diff'leri inceleyin
  2. **Net istemler yazın** - Kapsam konusunda belirli olun, dosya sınırlarını açıkça belirtin, bağlam için @-mention kullanın
  3. **Commit etmeden önce inceleyin** - Tamamlamalardan sonra Source Control panelini kontrol edin, tüm diff'leri dikkatlice inceleyin, değişiklikleri test edin
  4. **Yeni oturumlar başlatın** - Büyük görevler arasında bağlamı temizleyin, hassas çalışmalar için araç onaylarını sıfırlayın, bağlam kirlenmesinden kaçının
  5. **Modu riske eşleyin** - Kritik kod → Manual Accept veya Plan Mode, güvenilir kod → Auto-Run, denemeler → Git'li Auto-Run, atılabilir → yalnızca Skip Permission

  **Güvenlik hatırlatmaları:**

  * Hassas dosyaları (.env, kimlik bilgileri) asla commit etmeyin
  * Auto-Run kullanmadan önce .gitignore yapılandırın
  * Komut izinlerini dikkatlice inceleyin
  * Güvenliği etkileyen değişiklikler için Plan Mode'u kullanın
  * Yeni oturumlar Manual Accept'te araç onaylarını sıfırlar
</Accordion>

<Accordion title="Progressive Permission Model">
  Verdent'in izin sisteminin nasıl çalıştığını anlamak, onu etkili bir şekilde kullanmanıza yardımcı olur.

  **Nasıl çalışır:**

  1. **İlk kullanım** - Her araç türünü (dosya düzenlemeleri, komut yürütmeleri, araç kullanımı) ilk kullandığınızda sistem izin ister
  2. **Sonraki kullanımlar** - İlk onaydan sonra, o araç türü oturumun geri kalanında istem olmadan devam eder
  3. **Yeni oturum** - Yeni bir oturum başlatmak tüm onayları sıfırlar ve sıfırdan başlamanıza olanak tanır

  **Temel ilke:** Bu model güvenliği üretkenlikle dengeler. Araç türlerini bir kez inceleyip onaylar, ardından o onay bağlamında verimli bir şekilde çalışırsınız. Hassas çalışmalar için onayları sıfırlamak üzere yeni bir oturum başlatın.

  **Onayları sıfırlamak için:** Yeni bir oturum başlatın
</Accordion>

***

## Ayrıca bakın [#ayrıca-bakın]

<CardGroup cols="2">
  <Card title="Kaynak yönetimi" href="/docs/verdent-for-vscode/resource-management/monitoring" icon="chart-line">
    Token kullanımını, kredileri ve performansı izleyin
  </Card>

  <Card title="En iyi uygulamalar: Bağlam" href="/docs/verdent-for-vscode/best-practices/context" icon="layer-group">
    Modlar arasında bağlam pencerelerini yönetme
  </Card>
</CardGroup>
