
# Izstrāde

## Prasības

- **Bun** darbvietas instalācijām un skriptiem
- **Node.js 20+**
- **tmux** un **cloudflared** pilna cikla testiem
- **Daytona API atslēga + git akreditācijas dati** smilškastes integrācijas testam (neobligāti)
- **Playwright** UI pilna cikla testiem

## Instalēšana

```bash
bun install
```

## Palaidiet lietotni

```bash
bun run dev:beam
```

Tiek izveidots CLI, palaists lokālais serveris portā `8787` (to var mainīt ar `TERMBRIDGE_DEV_PORT`) ar tmux sesiju `codex` (to var mainīt ar `TERMBRIDGE_DEV_SESSION`), kā arī palaists Vite izstrādes UI, kas novirza `/__tb` (tostarp WebSockets) uz šo serveri. Tiek parādīts izstrādes redeem URL, ko atvērt pārlūkprogrammā. Iestatiet `TERMBRIDGE_SKIP_BUILD=1`, lai izlaistu CLI būvēšanu.

### Vairākas sesijas

```bash
TERMBRIDGE_SESSIONS=2 bun run dev:beam
```

Vai arī izmantojiet saīsni:

```bash
bun run dev:beam:multi
```

### Lokālo sīkdatņu režīms

`dev:beam` iestata `TERMBRIDGE_INSECURE_COOKIE=1`, ja vien to neiestatāt paši, lai sesijas sīkdatnes darbotos, izmantojot parastu HTTP. Ja palaižat CLI tieši bez HTTPS, iestatiet to skaidri:

```bash
TERMBRIDGE_INSECURE_COOKIE=1 node cli/dist/bin.js --no-tunnel --public-url http://127.0.0.1:8080 --port 8080
```

## Testi

```bash
bun run test
```

- `test:mocked` palaiž vienību un integrācijas testus ar 100% pārklājumu.
- `test:cli` palaiž reālus CLI + UI pilna cikla testus (tmux + cloudflared + Playwright).
- Daytona smilškastes tests `test:cli` nolasa iestatījumus tikai no `.env` faila `termbridge-test-app` direktorijā blakus šim repozitorijam (`../termbridge-test-app/.env`). Tas tiek palaists, ja šajā failā ir iestatīti `TERMBRIDGE_E2E_DAYTONA=1` un `TERMBRIDGE_DAYTONA_API_KEY`. Norādiet tajā `TERMBRIDGE_SANDBOX_REPO` repozitoriju, ko varat klonēt; noklusējuma testa repozitorijs ir privāts, un tam nepieciešami arī `TERMBRIDGE_SANDBOX_GIT_USERNAME` un `TERMBRIDGE_SANDBOX_GIT_TOKEN`.

## Dokumentācija

Dokumentācijas saturs ir vienkārši Markdown faili mapē `docs/`; katrai lapai ir priekšējie metadati, bet `meta.json` faili nosaka navigācijas secību. Dokumentācija ir publicēta vietnē [termbridge.dev](https://termbridge.inline0.dev/lv/). Validējiet to ar:

```bash
node scripts/check-docs-content.mjs --root docs --expected-docs 16 --expected-nav 3
```

Dokumentācijas satura darbplūsma veic to pašu pārbaudi pieprasījumos, kas skar `docs/`.
