
# Referință pentru CLI

## Utilizare de bază

Rulați comanda - nu sunt necesare argumente:

```bash
npx termbridge
```

Aceasta pornește totul: serverul local, sesiunea tmux și tunelul implicit Cloudflare.

Rularea `termbridge` fără o subcomandă este echivalentă cu `termbridge start`.

Puteți rula și `termbridge start` explicit, cu toate opțiunile:

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

## Opțiuni

| Opțiune | Ce face | Valoare implicită |
|------|--------------|---------|
| `--port <port>` | Folosește un anumit port în locul unuia aleatoriu | Aleatoriu |
| `--proxy <port>` | Direcționează prin proxy un server local de dezvoltare (activează vizualizările Terminal/Preview) | - |
| `--session <name>` | Denumește sesiunea tmux | Generat automat |
| `--kill-on-exit` | Curăță sesiunile tmux când Termbridge se închide | Dezactivat |
| `--no-qr` | Nu afișează codul QR (util pentru scripturi) | Dezactivat |
| `--no-tunnel` | Dezactivează tunelul (necesită `--public-url`) | Dezactivat |
| `--public-url <url>` | URL public când tunelul este dezactivat | - |
| `--tunnel <provider>` | Furnizorul tunelului (`cloudflare` sau `none`) | cloudflare |
| `--tunnel-token <token>` | Folosește un token de tunel Cloudflare denumit (necesită `--port`) | - |
| `--tunnel-url <url>` | URL public pentru tunelul denumit (necesar împreună cu `--tunnel-token`) | - |
| `--backend <backend>` | Backendul terminalului (`tmux` sau `sandbox-daytona`) | tmux |
| `--sandbox-repo <url>` | Adresa URL a depozitului URL pentru clonare în sandboxul Daytona | - |
| `--sandbox-branch <branch>` | Ramura de extras în sandbox | - |
| `--sandbox-path <path>` | Calea depozitului în sandbox | Derivată din numele depozitului |
| `--sandbox-name <name>` | Numele sandboxului | Aleatoriu `termbridge-<hex>` |
| `--sandbox-preview-port <port>` | Portul de previzualizare în sandbox | - |
| `--sandbox-public` | Creează un sandbox public | Dezactivat (activat în modul direct) |
| `--sandbox-direct` | Rulează serverul în sandboxul Daytona (fără tunel) | Dezactivat |
| `--dev-proxy-url <url>` | Direcționează traficul de previzualizare prin proxy către acest URL în loc de `localhost:<proxy port>` (folosit de scripturile de dezvoltare) | - |
| `-h`, `--help` | Afișează textul de ajutor | - |

Orice altă opțiune generează o eroare `unknown option: <flag>`. Nu există opțiunea `--version`.

O opțiune are prioritate față de variabila de mediu corespunzătoare, cu o excepție: în prezent, `TERMBRIDGE_TUNNEL` suprascrie `--tunnel` și `--no-tunnel` ([#5](https://github.com/inline0/termbridge/issues/5)).

> **Notă**
> Ieșirea încorporată pentru `termbridge --help` afișează în continuare opțiunile `--daytona-*` și `--backend tmux | daytona`. Aceste denumiri sunt respinse; folosiți opțiunile `--sandbox-*` și `--backend sandbox-daytona` din tabelul de mai sus ([#1](https://github.com/inline0/termbridge/issues/1)).

## Exemple

### Atașare la o sesiune tmux existentă

Dacă aveți deja o sesiune tmux în desfășurare:

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

### Port fix și sesiune personalizată

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

### Închidere curată (fără sesiuni rămase)

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

### Scripturi (fără ieșire QR)

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

### Direcționarea prin proxy a unui server de dezvoltare Vite

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

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

Folosiți butonul **Views** pentru a comuta între Terminal și Preview. Preview încarcă aplicația prin proxy, cu suport HMR.

### Tunel Cloudflare denumit (pe bază de token)

Dacă aveți un cont Cloudflare și doriți să evitați limitele de rată trycloudflare:

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

### Dezactivarea tunelului (folosirea propriului URL public)

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

## Variabile de mediu

Termbridge citește variabilele de mediu din shell și dintr-un fișier `.env` din directorul din care îl rulați. Variabilele deja setate în shell au prioritate față de cele din fișierul `.env`.

### Setări de bază

| Variabilă | Ce face |
|----------|--------------|
| `TERMBRIDGE_SESSIONS=2` | Creează mai multe sesiuni tmux la pornire |
| `TERMBRIDGE_TMUX_CWD=/path` | Directorul de lucru pentru sesiunile tmux noi |
| `TERMBRIDGE_PUBLIC_URL=https://example.com` | URL public când tunelul este dezactivat |
| `TERMBRIDGE_TUNNEL=none` | Dezactivează tunelul |
| `TERMBRIDGE_TUNNEL_TOKEN=<token>` | Token pentru tunelul denumit (necesită `TERMBRIDGE_TUNNEL_URL`) |
| `TERMBRIDGE_TUNNEL_URL=https://term.example.com` | URL public pentru tunelul denumit |

### Avansat

Daytona setează modul direct pentru serverul pe care îl rulează în sandbox. Le puteți seta și manual.

| Variabilă | Ce face |
|----------|--------------|
| `TERMBRIDGE_HOST=0.0.0.0` | Adresa la care ascultă serverul (implicit `127.0.0.1`). Adresa URL locală URL afișată indică întotdeauna `127.0.0.1`. |
| `TERMBRIDGE_COOKIE_SAMESITE=lax` | Valoarea `SameSite` a cookie-ului de sesiune: `lax`, `strict` sau `none` (implicit `Lax` sau `None` în modul direct) |
| `TERMBRIDGE_SHARE_FILE=/path/share-url.txt` | Scrie și linkul de partajare URL în acest fișier |
| `TERMBRIDGE_HIDE_TERMINAL_SWITCHER=1` | Ascunde comutatorul de terminale din UI |
| `TERMBRIDGE_TMUX_PATH_PREFIX=/path/bin` | Adaugă acest text la începutul lui `PATH` în fiecare sesiune tmux la care Termbridge pornește sau se atașează (introdus în sesiune ca o comandă `export`) |

### Dezvoltare

| Variabilă | Ce face |
|----------|--------------|
| `TERMBRIDGE_INSECURE_COOKIE=1` | Permite cookie-uri HTTP (numai pentru dezvoltare locală) |
| `TERMBRIDGE_PROXY_PORT=5173` | Port proxy pentru scriptul dev:beam:proxy |
| `TERMBRIDGE_DEV_UI=http://127.0.0.1:5000` | Suprascrie Vite dezvoltarea UI URL |
| `TERMBRIDGE_DEV_PORT=3000` | Suprascrie portul serverului Termbridge în dezvoltare (implicit `8787`) |
| `TERMBRIDGE_DEV_SESSION=codex` | Numele sesiunii tmux pentru `dev:beam` (implicit `codex`) |
| `TERMBRIDGE_SKIP_BUILD=1` | Omite compilarea CLI în `dev:beam` |

### Sandbox (Daytona)

| Variabilă | Ce face |
|----------|--------------|
| `TERMBRIDGE_BACKEND=sandbox-daytona` | Folosește backendul sandbox Daytona |
| `TERMBRIDGE_SANDBOX_DIRECT=true` | Rulează Termbridge în sandbox |
| `TERMBRIDGE_SANDBOX_SERVER_PORT=8080` | Portul serverului din sandbox |
| `TERMBRIDGE_SANDBOX_AGENTS=claude-code,codex` | Instalează automat și sincronizează autentificarea pentru agenți |
| `TERMBRIDGE_SANDBOX_AGENT_ENV=...` | Variabile de mediu suplimentare de transmis |
| `TERMBRIDGE_SANDBOX_AGENT_AUTH_PATHS=...` | Fișiere de autentificare locale de sincronizat |

Pentru configurația completă Daytona, consultați ghidul [Daytona](https://termbridge.inline0.dev/ro/docs/sandboxes/daytona).

## Oprirea Termbridge

Apăsați `Ctrl+C` în terminalul în care rulează Termbridge. Aceasta:

- Închide tunelul (dacă este activat)
- Oprește serverul local
- Menține active sesiunile tmux (cu excepția cazului în care ați folosit `--kill-on-exit`)

Sesiunile tmux persistă implicit, astfel încât vă puteți reconecta mai târziu.
