
# CLI Başvurusu

## Temel kullanım

Komutu çalıştırmanız yeterli; bağımsız değişken gerekmez:

```bash
npx termbridge
```

Bu komut her şeyi başlatır: yerel sunucu, tmux oturumu ve varsayılan Cloudflare tüneli.

`termbridge` komutunu alt komut olmadan çalıştırmak, `termbridge start` komutunu çalıştırmakla eşdeğerdir.

`termbridge start` komutunu tüm bayraklarla açıkça da çalıştırabilirsiniz:

```bash
termbridge start --port 8080 --proxy 5173 --session dev --kill-on-exit --no-qr --tunnel cloudflare
```

## Bayraklar

| Bayrak | Ne işe yarar | Varsayılan |
|------|--------------|---------|
| `--port <port>` | Rastgele bir bağlantı noktası yerine belirli bir bağlantı noktası kullanır | Rastgele |
| `--proxy <port>` | Yerel bir geliştirme sunucusunu proxy eder (Terminal/Önizleme görünümlerini etkinleştirir) | - |
| `--session <name>` | tmux oturumunuza ad verir | Otomatik oluşturulur |
| `--kill-on-exit` | Termbridge çıktığında tmux oturumlarını temizler | Kapalı |
| `--no-qr` | QR kodunu yazdırmaz (betikler için kullanışlıdır) | Kapalı |
| `--no-tunnel` | Tüneli devre dışı bırakır (`--public-url` gerektirir) | Kapalı |
| `--public-url <url>` | Tünel devre dışıyken genel URL | - |
| `--tunnel <provider>` | Tünel sağlayıcısı (`cloudflare` veya `none`) | cloudflare |
| `--tunnel-token <token>` | Adlandırılmış bir Cloudflare Tunnel belirteci kullanır (`--port` gerektirir) | - |
| `--tunnel-url <url>` | Adlandırılmış tünel için genel URL (`--tunnel-token` ile gereklidir) | - |
| `--backend <backend>` | Terminal arka ucu (`tmux` veya `sandbox-daytona`) | tmux |
| `--sandbox-repo <url>` | Daytona sandbox'ına klonlanacak depo URL | - |
| `--sandbox-branch <branch>` | Sandbox'ta denetlenecek dal | - |
| `--sandbox-path <path>` | Sandbox'taki depo yolu | Depo adından türetilir |
| `--sandbox-name <name>` | Sandbox adı | Rastgele `termbridge-<hex>` |
| `--sandbox-preview-port <port>` | Sandbox'taki önizleme bağlantı noktası | - |
| `--sandbox-public` | Genel sandbox oluşturur | Kapalı (doğrudan modda açık) |
| `--sandbox-direct` | Sunucuyu Daytona sandbox'ının içinde çalıştırır (tünel yok) | Kapalı |
| `--dev-proxy-url <url>` | Önizleme trafiğini `localhost:<proxy port>` yerine bu URL adresine proxy eder (geliştirme betiklerinde kullanılır) | - |
| `-h`, `--help` | Yardım metnini yazdırır | - |

Başka bir seçenek `unknown option: <flag>` hatasına yol açar. `--version` bayrağı yoktur.

Bir bayrak, ortam değişkeninden önceliklidir; tek istisna: `TERMBRIDGE_TUNNEL` şu anda `--tunnel` ve `--no-tunnel` değerlerini geçersiz kılıyor ([#5](https://github.com/inline0/termbridge/issues/5)).

> **Not**
> Yerleşik `termbridge --help` çıktısı hâlâ `--daytona-*` bayraklarını ve `--backend tmux | daytona` değerini listeler. Bu adlar reddedilir; yukarıdaki tabloda yer alan `--sandbox-*` bayraklarını ve `--backend sandbox-daytona` değerini kullanın ([#1](https://github.com/inline0/termbridge/issues/1)).

## Örnekler

### Mevcut bir tmux oturumuna bağlanma

Zaten çalışan bir tmux oturumunuz varsa:

```bash
termbridge --session my-session
```

### Sabit bağlantı noktası ve özel oturum

```bash
termbridge --port 8080 --session codex
```

### Temiz çıkış (geride oturum kalmaz)

```bash
termbridge --kill-on-exit
```

### Betik kullanımı (QR çıktısı yok)

```bash
termbridge --no-qr
```

### Bir Vite geliştirme sunucusunu vekil sunucuyla yönlendirme

```bash
# Start your Vite app first
cd my-app && npm run dev  # runs on port 5173

# Then start Termbridge with proxy
termbridge --proxy 5173
```

Terminal ve Önizleme arasında geçiş yapmak için **Views** düğmesini kullanın. Önizleme, HMR desteğiyle uygulamanızı vekil sunucu üzerinden yükler.

### Adlandırılmış Cloudflare tüneli (belirteç tabanlı)

Bir Cloudflare hesabınız varsa ve trycloudflare hız sınırlarını aşmak istiyorsanız:

```bash
termbridge --port 8080 --tunnel-token <TOKEN> --tunnel-url https://term.example.com
```

### Tüneli devre dışı bırakma (kendi herkese açık URL adresinizi kullanın)

```bash
termbridge --no-tunnel --public-url https://example.com
```

## Ortam değişkenleri

Termbridge, kabuktaki ortam değişkenlerini ve çalıştırdığınız dizindeki bir `.env` dosyasındaki değişkenleri okur. Kabukta önceden ayarlanmış değişkenler, `.env` dosyasındakilere önceliklidir.

### Temel ayarlar

| Değişken | Ne işe yarar |
|----------|--------------|
| `TERMBRIDGE_SESSIONS=2` | Başlangıçta birden fazla tmux oturumu oluşturur |
| `TERMBRIDGE_TMUX_CWD=/path` | Yeni tmux oturumları için çalışma dizini |
| `TERMBRIDGE_PUBLIC_URL=https://example.com` | Tünel devre dışıyken herkese açık URL |
| `TERMBRIDGE_TUNNEL=none` | Tüneli devre dışı bırakır |
| `TERMBRIDGE_TUNNEL_TOKEN=<token>` | Adlandırılmış tünel belirteci (`TERMBRIDGE_TUNNEL_URL` gerektirir) |
| `TERMBRIDGE_TUNNEL_URL=https://term.example.com` | Adlandırılmış tünel için herkese açık URL |

### Gelişmiş

Daytona doğrudan modu, korumalı alan içinde çalıştırdığı sunucu için bunları ayarlar. Bunları kendiniz de ayarlayabilirsiniz.

| Değişken | Ne işe yarar |
|----------|--------------|
| `TERMBRIDGE_HOST=0.0.0.0` | Sunucunun bağlandığı adres (varsayılan `127.0.0.1`). Yazdırılan yerel URL her zaman `127.0.0.1` gösterir. |
| `TERMBRIDGE_COOKIE_SAMESITE=lax` | Oturum çerezinin `SameSite` değeri: `lax`, `strict` veya `none` (varsayılan `Lax`; doğrudan modda `None`) |
| `TERMBRIDGE_SHARE_FILE=/path/share-url.txt` | Paylaşım URL değerini bu dosyaya da yazar |
| `TERMBRIDGE_HIDE_TERMINAL_SWITCHER=1` | UI içindeki terminal değiştiriciyi gizler |
| `TERMBRIDGE_TMUX_PATH_PREFIX=/path/bin` | Her tmux oturumunda Termbridge başlarken veya bağlanırken `PATH` değerinin başına eklenir (oturuma `export` komutu olarak yazılır) |

### Geliştirme

| Değişken | Ne işe yarar |
|----------|--------------|
| `TERMBRIDGE_INSECURE_COOKIE=1` | HTTP çerezlerine izin verir (yalnızca yerel geliştirme) |
| `TERMBRIDGE_PROXY_PORT=5173` | dev:beam:proxy betiği için vekil sunucu bağlantı noktası |
| `TERMBRIDGE_DEV_UI=http://127.0.0.1:5000` | Vite geliştirme UI URL değerini geçersiz kılar |
| `TERMBRIDGE_DEV_PORT=3000` | Geliştirme ortamındaki Termbridge sunucu bağlantı noktasını geçersiz kılar (varsayılan `8787`) |
| `TERMBRIDGE_DEV_SESSION=codex` | `dev:beam` için tmux oturum adı (varsayılan `codex`) |
| `TERMBRIDGE_SKIP_BUILD=1` | `dev:beam` içindeki CLI derlemesini atlar |

### Korumalı alan (Daytona)

| Değişken | Ne işe yarar |
|----------|--------------|
| `TERMBRIDGE_BACKEND=sandbox-daytona` | Daytona korumalı alan arka ucunu kullanır |
| `TERMBRIDGE_SANDBOX_DIRECT=true` | Termbridge öğesini korumalı alan içinde çalıştırır |
| `TERMBRIDGE_SANDBOX_SERVER_PORT=8080` | Korumalı alandaki sunucu için bağlantı noktası |
| `TERMBRIDGE_SANDBOX_AGENTS=claude-code,codex` | Aracılar için kimlik doğrulamayı otomatik kurar ve eşitler |
| `TERMBRIDGE_SANDBOX_AGENT_ENV=...` | İletilecek ek ortam değişkenleri |
| `TERMBRIDGE_SANDBOX_AGENT_AUTH_PATHS=...` | Eşitlenecek yerel kimlik doğrulama dosyaları |

Tam Daytona yapılandırması için [Daytona kılavuzuna bakın](https://termbridge.inline0.dev/tr/docs/sandboxes/daytona).

## Termbridge öğesini durdurma

Termbridge çalışırken terminalde `Ctrl+C` tuşuna basın. Bu işlem:

- Tüneli kapatır (etkinse)
- Yerel sunucuyu durdurur
- tmux oturumlarını açık tutar (`--kill-on-exit` kullandıysanız bu durum geçerli değildir)

tmux oturumlarınız varsayılan olarak kalıcıdır; böylece daha sonra yeniden bağlanabilirsiniz.
