
# Arendus

## Nõuded

- **Bun** tööruumi paigalduste ja skriptide jaoks
- **Node.js 20+**
- **tmux** ja **cloudflared** läbivateks testideks
- **Daytona API võti ja git-mandaadid** liivakasti integratsioonitestiks (valikuline)
- **Playwright** UI läbivate testide jaoks

## Paigaldamine

```bash
bun install
```

## Rakenduse käivitamine

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

See loob CLIi järgu, käivitab kohaliku serveri pordil `8787` (muutmiseks kasutage `TERMBRIDGE_DEV_PORT`) seansi tmux `codex`-ga (muutmiseks kasutage `TERMBRIDGE_DEV_SESSION`) ning käivitab Vitei arenduse UI-i, mis suunab `/__tb` (sh WebSocketid) sellesse serverisse. Väljundis kuvatakse arenduskeskkonna lunastamis-URL, mille saate brauseris avada. Jätke CLIi järk vahele, määrates `TERMBRIDGE_SKIP_BUILD=1`.

### Mitu seanssi

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

Või kasutage otseteed:

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

### Kohalike küpsiste režiim

`dev:beam` määrab väärtuseks `TERMBRIDGE_INSECURE_COOKIE=1`, kui te pole seda ise määranud, nii et seansiküpsised töötavad tavalise HTTP kaudu. Kui käivitate CLIi otse ilma HTTPS-ta, määrake see sõnaselgelt:

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

## Testid

```bash
bun run test
```

- `test:mocked` käivitab ühik- ja integratsioonitestid 100% katvusega.
- `test:cli` käivitab päris CLI + UI läbivad testid (tmux + cloudflared + Playwright).
- `test:cli`i Daytona liivakastitest loeb seaded ainult `termbridge-test-app`-kataloogis selle hoidla kõrval olevast `.env`-failist (`../termbridge-test-app/.env`). Test käivitub, kui failis on määratud `TERMBRIDGE_E2E_DAYTONA=1` ja `TERMBRIDGE_DAYTONA_API_KEY`. Määrake seal `TERMBRIDGE_SANDBOX_REPO` hoidla, mida saab kloonida; vaikimisi testhoidla on privaatne ning vajab ka `TERMBRIDGE_SANDBOX_GIT_USERNAME` ja `TERMBRIDGE_SANDBOX_GIT_TOKEN`.

## Dokumentatsioon

Dokumentatsioon koosneb tavalistest Markdown-failidest kataloogis `docs/`, iga lehe päises on frontmatter ning navigeerimisjärjestuse määravad `meta.json`-failid. See avaldatakse aadressil [termbridge.dev](https://termbridge.inline0.dev/et/). Valideerige see käsuga:

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

Dokumentatsiooni sisu töövoog käivitab sama kontrolli tõmbetaotlustel, mis muudavad `docs/`-i.
