
# Kūrimas

## Reikalavimai

- **Bun** darbo aplinkų diegimams ir scenarijams
- **Node.js 20+**
- **tmux** ir **cloudflared** visapusiškiems testams
- **Daytona API raktas + git prisijungimo duomenys** smėliadėžės integravimo testui (pasirinktinai)
- **Playwright** UI visapusiškiems testams

## Diegimas

```bash
bun install
```

## Paleisti programą

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

Taip sukuriamas CLI, paleidžiamas vietinis serveris prievade `8787` (pakeiskite su `TERMBRIDGE_DEV_PORT`) ir tmux sesijos `codex` (pakeiskite su `TERMBRIDGE_DEV_SESSION`), taip pat paleidžiamas Vite kūrimo UI, kuris `/__tb` (įskaitant WebSocket ryšius) persiunčia į tą serverį. Išspausdinamas kūrimo aplinkai skirtas išpirkimo URL, kurį reikia atidaryti naršyklėje. Nustatykite `TERMBRIDGE_SKIP_BUILD=1`, jei norite praleisti CLI kūrimą.

### Kelios sesijos

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

Arba naudokite spartųjį būdą:

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

### Vietinių slapukų režimas

`dev:beam` nustato `TERMBRIDGE_INSECURE_COOKIE=1`, jei nenustatėte jos patys, todėl sesijos slapukai veikia per paprastą HTTP. Jei CLI paleidžiate tiesiogiai, be HTTPS, nustatykite ją aiškiai:

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

## Testai

```bash
bun run test
```

- `test:mocked` vykdo vienetų ir integracinius testus su 100% aprėptimi.
- `test:cli` vykdo tikrus CLI + UI e2e testus (tmux + cloudflared + Playwright).
- `test:cli` smėliadėžės testas Daytona nustatymus skaito tik iš `.env` failo `termbridge-test-app` kataloge šalia šios saugyklos (`../termbridge-test-app/.env`). Jis vykdomas, kai tame faile nustatyti `TERMBRIDGE_E2E_DAYTONA=1` ir `TERMBRIDGE_DAYTONA_API_KEY`. Nustatykite `TERMBRIDGE_SANDBOX_REPO` į klonuojamą saugyklą; numatytoji testų saugykla yra privati, jai taip pat reikia `TERMBRIDGE_SANDBOX_GIT_USERNAME` ir `TERMBRIDGE_SANDBOX_GIT_TOKEN`.

## Dokumentacija

Dokumentacija pateikiama kaip paprasti Markdown failai kataloge `docs/`; kiekviename puslapyje yra metaduomenų antraštė, o navigacijos tvarką nurodo `meta.json` failai. Ji publikuojama adresu [termbridge.dev](https://termbridge.inline0.dev/lt/). Patikrinkite ją naudodami:

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

Dokumentacijos turinio darbo eiga tą patį patikrinimą vykdo su užklausų suliejimais, kuriuose keičiama `docs/`.
