
# CLI Reference

## Grundlæggende brug

Kør blot kommandoen – der kræves ingen argumenter:

```bash
npx termbridge
```

Dette starter det hele: lokal server, tmux-session og standardtunnelen Cloudflare.

At køre `termbridge` uden en underkommando svarer til `termbridge start`.

Du kan også køre `termbridge start` eksplicit med alle flag:

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

## Flag

| Flag | Hvad det gør | Standard |
|------|--------------|---------|
| `--port <port>` | Brug en bestemt port i stedet for en tilfældig | Tilfældig |
| `--proxy <port>` | Proxy en lokal udviklingsserver (aktiverer Terminal-/Preview-visninger) | - |
| `--session <name>` | Navngiv din tmux-session | Genereres automatisk |
| `--kill-on-exit` | Ryd op i tmux-sessioner, når Termbridge afsluttes | Fra |
| `--no-qr` | Udskriv ikke QR-koden (nyttigt i scripts) | Fra |
| `--no-tunnel` | Deaktiver tunnelen (kræver `--public-url`) | Fra |
| `--public-url <url>` | Offentlig URL, når tunnelen er deaktiveret | - |
| `--tunnel <provider>` | Tunneludbyder (`cloudflare` eller `none`) | cloudflare |
| `--tunnel-token <token>` | Brug et navngivet Cloudflare Tunnel-token (kræver `--port`) | - |
| `--tunnel-url <url>` | Offentlig URL til den navngivne tunnel (påkrævet med `--tunnel-token`) | - |
| `--backend <backend>` | Terminalbackend (`tmux` eller `sandbox-daytona`) | tmux |
| `--sandbox-repo <url>` | Repo-URL, der skal klones til Daytona-sandkassen | - |
| `--sandbox-branch <branch>` | Gren, der skal tjekkes ud i sandkassen | - |
| `--sandbox-path <path>` | Repo-sti i sandkassen | Afledes af repoets navn |
| `--sandbox-name <name>` | Sandkassens navn | Tilfældig `termbridge-<hex>` |
| `--sandbox-preview-port <port>` | Preview-port i sandkassen | - |
| `--sandbox-public` | Opret en offentlig sandkasse | Fra (til i direkte tilstand) |
| `--sandbox-direct` | Kør serveren i Daytona-sandkassen (uden tunnel) | Fra |
| `--dev-proxy-url <url>` | Proxy previewtrafik til denne URL i stedet for `localhost:<proxy port>` (bruges af udviklingsscripts) | - |
| `-h`, `--help` | Udskriv hjælpeteksten | - |

Enhver anden indstilling fejler med `unknown option: <flag>`. Der findes ikke noget `--version`-flag.

Et flag har forrang for dets miljøvariabel, med én undtagelse: `TERMBRIDGE_TUNNEL` tilsidesætter i øjeblikket `--tunnel` og `--no-tunnel` ([#5](https://github.com/inline0/termbridge/issues/5)).

> **Bemærk**
> Det indbyggede `termbridge --help`-output viser stadig `--daytona-*`-flag og `--backend tmux | daytona`. Disse navne afvises; brug `--sandbox-*`-flagene og `--backend sandbox-daytona` fra tabellen ovenfor ([#1](https://github.com/inline0/termbridge/issues/1)).

## Eksempler

### Tilslut til en eksisterende tmux-session

Hvis du allerede har en tmux-session kørende:

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

### Fast port og brugerdefineret session

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

### Afslut uden efterladte sessioner

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

### Scripting (intet QR-output)

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

### Proxy en Vite-udviklingsserver

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

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

Brug knappen **Views** til at skifte mellem Terminal og Preview. Preview indlæser din app via proxyen med HMR-understøttelse.

### Navngivet Cloudflare-tunnel (tokenbaseret)

Hvis du har en Cloudflare-konto og vil undgå trycloudflare-begrænsninger:

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

### Deaktiver tunnelen (brug din egen offentlige URL)

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

## Miljøvariabler

Termbridge læser miljøvariabler fra skallen og fra en `.env`-fil i den mappe, du kører den fra. Variabler, der allerede er angivet i skallen, har forrang for variablerne i `.env`-filen.

### Grundlæggende indstillinger

| Variabel | Hvad den gør |
|----------|--------------|
| `TERMBRIDGE_SESSIONS=2` | Opret flere tmux-sessioner ved opstart |
| `TERMBRIDGE_TMUX_CWD=/path` | Arbejdsmappe for nye tmux-sessioner |
| `TERMBRIDGE_PUBLIC_URL=https://example.com` | Offentlig URL, når tunnelen er deaktiveret |
| `TERMBRIDGE_TUNNEL=none` | Deaktiver tunnelen |
| `TERMBRIDGE_TUNNEL_TOKEN=<token>` | Token til navngivet tunnel (kræver `TERMBRIDGE_TUNNEL_URL`) |
| `TERMBRIDGE_TUNNEL_URL=https://term.example.com` | Offentlig URL til den navngivne tunnel |

### Avanceret

Daytona-direkte tilstand angiver disse for serveren, der kører i sandkassen. Du kan også angive dem selv.

| Variabel | Hvad den gør |
|----------|--------------|
| `TERMBRIDGE_HOST=0.0.0.0` | Adresse, som serveren lytter på (standard `127.0.0.1`). Den viste lokale URL viser altid `127.0.0.1`. |
| `TERMBRIDGE_COOKIE_SAMESITE=lax` | `SameSite`-værdi for sessionscookien: `lax`, `strict` eller `none` (standard `Lax`, eller `None` i direkte tilstand) |
| `TERMBRIDGE_SHARE_FILE=/path/share-url.txt` | Skriv også delings-URL til denne fil |
| `TERMBRIDGE_HIDE_TERMINAL_SWITCHER=1` | Skjul terminalvælgeren i UI |
| `TERMBRIDGE_TMUX_PATH_PREFIX=/path/bin` | Sæt dette foran `PATH` i hver tmux-session, som Termbridge starter eller tilslutter sig (indtastes i sessionen som en `export`-kommando) |

### Udvikling

| Variabel | Hvad den gør |
|----------|--------------|
| `TERMBRIDGE_INSECURE_COOKIE=1` | Tillad HTTP-cookies (kun lokal udvikling) |
| `TERMBRIDGE_PROXY_PORT=5173` | Proxyport til dev:beam:proxy-scriptet |
| `TERMBRIDGE_DEV_UI=http://127.0.0.1:5000` | Tilsidesæt Vite-udviklings-UI URL |
| `TERMBRIDGE_DEV_PORT=3000` | Tilsidesæt Termbridge-serverport i udvikling (standard `8787`) |
| `TERMBRIDGE_DEV_SESSION=codex` | tmux-sessionsnavn til `dev:beam` (standard `codex`) |
| `TERMBRIDGE_SKIP_BUILD=1` | Spring CLI-buildet over i `dev:beam` |

### Sandkasse (Daytona)

| Variabel | Hvad den gør |
|----------|--------------|
| `TERMBRIDGE_BACKEND=sandbox-daytona` | Brug Daytona-sandkassebackend |
| `TERMBRIDGE_SANDBOX_DIRECT=true` | Kør Termbridge i sandkassen |
| `TERMBRIDGE_SANDBOX_SERVER_PORT=8080` | Port til serveren i sandkassen |
| `TERMBRIDGE_SANDBOX_AGENTS=claude-code,codex` | Installer automatisk + synkroniser godkendelse for agenter |
| `TERMBRIDGE_SANDBOX_AGENT_ENV=...` | Ekstra miljøvariabler, der skal videresendes |
| `TERMBRIDGE_SANDBOX_AGENT_AUTH_PATHS=...` | Lokale godkendelsesfiler, der skal synkroniseres |

Se [Daytona-vejledningen](https://termbridge.inline0.dev/da/docs/sandboxes/daytona) for den fulde konfiguration af Daytona.

## Stop Termbridge

Tryk på `Ctrl+C` i terminalen, hvor Termbridge kører. Det:

- Lukker tunnelen (hvis aktiveret)
- Stopper den lokale server
- Lader tmux-sessioner køre (medmindre du brugte `--kill-on-exit`)

Dine tmux-sessioner fortsætter som standard, så du kan genoprette forbindelsen senere.
