
# Referentie voor CLI

## Eenvoudig gebruik

Voer het commando uit; argumenten zijn niet nodig:

```bash
npx termbridge
```

Hiermee wordt alles gestart: lokale server, sessie van tmux en de standaardtunnel van Cloudflare.

`termbridge` uitvoeren zonder subcommando is hetzelfde als `termbridge start`.

Je kunt `termbridge start` ook expliciet uitvoeren met alle flags:

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

## Flags

| Flag | Functie | Standaard |
|------|--------------|---------|
| `--port <port>` | Gebruik een specifieke poort in plaats van een willekeurige | Willekeurig |
| `--proxy <port>` | Proxy een lokale ontwikkelserver (schakelt de weergaven Terminal/Preview in) | - |
| `--session <name>` | Geef je tmux-sessie een naam | Automatisch gegenereerd |
| `--kill-on-exit` | Ruim tmux-sessies op wanneer Termbridge wordt afgesloten | Uit |
| `--no-qr` | Druk de QR-code niet af (handig voor scripts) | Uit |
| `--no-tunnel` | Schakel de tunnel uit (vereist `--public-url`) | Uit |
| `--public-url <url>` | Openbare URL wanneer de tunnel is uitgeschakeld | - |
| `--tunnel <provider>` | Tunnelprovider (`cloudflare` of `none`) | cloudflare |
| `--tunnel-token <token>` | Gebruik een token voor een benoemde Cloudflare-tunnel (vereist `--port`) | - |
| `--tunnel-url <url>` | Openbare URL voor de benoemde tunnel (vereist met `--tunnel-token`) | - |
| `--backend <backend>` | Terminalbackend (`tmux` of `sandbox-daytona`) | tmux |
| `--sandbox-repo <url>` | Repo-URL om te clonen naar de Daytona-sandbox | - |
| `--sandbox-branch <branch>` | Branch om uit te checken in de sandbox | - |
| `--sandbox-path <path>` | Repopad in de sandbox | Afgeleid van de reponaam |
| `--sandbox-name <name>` | Sandboxnaam | Willekeurige `termbridge-<hex>` |
| `--sandbox-preview-port <port>` | Preview-poort in de sandbox | - |
| `--sandbox-public` | Maak een openbare sandbox aan | Uit (aan in directe modus) |
| `--sandbox-direct` | Voer de server uit binnen de Daytona-sandbox (geen tunnel) | Uit |
| `--dev-proxy-url <url>` | Stuur Preview-verkeer naar deze URL in plaats van `localhost:<proxy port>` (gebruikt door de ontwikkelscripts) | - |
| `-h`, `--help` | Toon de helptekst | - |

Elke andere optie geeft een foutmelding van `unknown option: <flag>`. Er is geen flag voor `--version`.

Een flag heeft voorrang op de bijbehorende omgevingsvariabele, met één uitzondering: `TERMBRIDGE_TUNNEL` overschrijft momenteel `--tunnel` en `--no-tunnel` ([#5](https://github.com/inline0/termbridge/issues/5)).

> **Opmerking**
> De ingebouwde uitvoer van `termbridge --help` toont nog steeds `--daytona-*`-flags en `--backend tmux | daytona`. Deze namen worden afgewezen; gebruik de `--sandbox-*`-flags en `--backend sandbox-daytona` uit de tabel hierboven ([#1](https://github.com/inline0/termbridge/issues/1)).

## Voorbeelden

### Een bestaande tmux-sessie koppelen

Als er al een tmux-sessie actief is:

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

### Vaste poort en aangepaste sessie

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

### Netjes afsluiten (geen achtergebleven sessies)

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

### Scripting (geen QR-uitvoer)

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

### Een Vite-ontwikkelserver proxyen

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

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

Gebruik de knop **Views** om te wisselen tussen Terminal en Preview. Preview laadt je app via de proxy met HMR-ondersteuning.

### Benoemde Cloudflare-tunnel (op basis van een token)

Als je een Cloudflare-account hebt en de snelheidslimieten van trycloudflare wilt vermijden:

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

### De tunnel uitschakelen (gebruik je eigen openbare URL)

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

## Omgevingsvariabelen

Termbridge leest omgevingsvariabelen uit de shell en uit een bestand `.env` in de map van waaruit je het uitvoert. Variabelen die al in de shell zijn ingesteld, hebben voorrang op het bestand `.env`.

### Kerninstellingen

| Variabele | Functie |
|----------|--------------|
| `TERMBRIDGE_SESSIONS=2` | Maak meerdere tmux-sessies aan bij het opstarten |
| `TERMBRIDGE_TMUX_CWD=/path` | Werkmap voor nieuwe tmux-sessies |
| `TERMBRIDGE_PUBLIC_URL=https://example.com` | Openbare URL wanneer de tunnel is uitgeschakeld |
| `TERMBRIDGE_TUNNEL=none` | Schakel de tunnel uit |
| `TERMBRIDGE_TUNNEL_TOKEN=<token>` | Token voor een benoemde tunnel (vereist `TERMBRIDGE_TUNNEL_URL`) |
| `TERMBRIDGE_TUNNEL_URL=https://term.example.com` | Openbare URL voor de benoemde tunnel |

### Geavanceerd

Daytona stelt deze in de directe modus in voor de server die binnen de sandbox wordt uitgevoerd. Je kunt ze ook zelf instellen.

| Variabele | Wat deze doet |
|----------|--------------|
| `TERMBRIDGE_HOST=0.0.0.0` | Adres waarop de server luistert (standaard `127.0.0.1`). De afgedrukte lokale URL toont altijd `127.0.0.1`. |
| `TERMBRIDGE_COOKIE_SAMESITE=lax` | `SameSite`-waarde van de sessiecookie: `lax`, `strict` of `none` (standaard `Lax`, of `None` in de directe modus) |
| `TERMBRIDGE_SHARE_FILE=/path/share-url.txt` | Schrijf de deel-URL ook naar dit bestand |
| `TERMBRIDGE_HIDE_TERMINAL_SWITCHER=1` | Verberg de terminalwisselaar in de UI |
| `TERMBRIDGE_TMUX_PATH_PREFIX=/path/bin` | Plaats dit vóór `PATH` in elke tmux-sessie waaraan Termbridge begint of koppelt (ingevoerd in de sessie als een `export`-opdracht) |

### Ontwikkeling

| Variabele | Wat deze doet |
|----------|--------------|
| `TERMBRIDGE_INSECURE_COOKIE=1` | Sta HTTP-cookies toe (alleen lokale ontwikkeling) |
| `TERMBRIDGE_PROXY_PORT=5173` | Proxypoort voor het dev:beam:proxy-script |
| `TERMBRIDGE_DEV_UI=http://127.0.0.1:5000` | Overschrijf de ontwikkel-Vite van UI URL |
| `TERMBRIDGE_DEV_PORT=3000` | Overschrijf de serverpoort van Termbridge tijdens ontwikkeling (standaard `8787`) |
| `TERMBRIDGE_DEV_SESSION=codex` | tmux-sessienaam voor `dev:beam` (standaard `codex`) |
| `TERMBRIDGE_SKIP_BUILD=1` | Sla de CLI-build in `dev:beam` over |

### Sandbox (Daytona)

| Variabele | Wat deze doet |
|----------|--------------|
| `TERMBRIDGE_BACKEND=sandbox-daytona` | Gebruik de sandboxbackend van Daytona |
| `TERMBRIDGE_SANDBOX_DIRECT=true` | Voer Termbridge uit in de sandbox |
| `TERMBRIDGE_SANDBOX_SERVER_PORT=8080` | Poort voor de server in de sandbox |
| `TERMBRIDGE_SANDBOX_AGENTS=claude-code,codex` | Installeer automatisch en synchroniseer verificatiegegevens voor agents |
| `TERMBRIDGE_SANDBOX_AGENT_ENV=...` | Extra omgevingsvariabelen om door te geven |
| `TERMBRIDGE_SANDBOX_AGENT_AUTH_PATHS=...` | Lokale verificatiebestanden om te synchroniseren |

Zie de [Daytona-handleiding](https://termbridge.inline0.dev/nl/docs/sandboxes/daytona) voor de volledige configuratie van Daytona.

## Termbridge stoppen

Druk op `Ctrl+C` in de terminal waarin Termbridge actief is. Dit:

- Sluit de tunnel (als deze is ingeschakeld)
- Stopt de lokale server
- Houdt tmux-sessies actief (tenzij u `--kill-on-exit` hebt gebruikt)

Uw tmux-sessies blijven standaard bestaan, zodat u later opnieuw verbinding kunt maken.
